gpt4 book ai didi

java - BigDecimal 四舍五入不四舍五入

转载 作者:行者123 更新时间:2023-11-29 07:55:45 24 4
gpt4 key购买 nike

我是 android 编程的新手,所以非常感谢任何帮助。我浏览了这些页面,似乎没有找到正确的答案。如果这是一个类似的问题,我真的很抱歉。我的问题是,当我使用 AIDE 编译器在我的 android 设备上编写代码时,下面的示例四舍五入

pitch_round.setScale(2,BigDecimal.ROUND_UP); 

工作正常,我能够使用 pitch_round.ToString() 将四舍五入的 bigdecimal 输出到 TextView,当我在 Eclipse 中使用类似的代码时,编译时没有错误,但 textview 的输出似乎没有四舍五入总之,如果我没记错的话,现在似乎有更多的小数字符。

下面是一段不起作用的代码。我这里有什么地方没有做吗?所有的值都是 float 这与设备上 AIDE 上使用的代码相同提前谢谢你

        pitch = mOrientation[1]*57.2957795f;
roll= mOrientation[2]*57.2957795f;
yaw= mOrientation[0]*57.2957795f;
// change to bigdecimal object
BigDecimal pitch_round = new BigDecimal(pitch-zero_pitch);
BigDecimal roll_round = new BigDecimal(roll-zero_roll);
BigDecimal yaw_round = new BigDecimal(yaw-zero_yaw);


pitch_round.setScale(2,BigDecimal.ROUND_UP);
roll_round.setScale(2,BigDecimal.ROUND_UP);
yaw_round.setScale(2,BigDecimal.ROUND_UP);


Log.i(SENSOR_SERVICE, pitch_round.toString());
t_pitch.setTextColor(Color.CYAN);
t_roll.setTextColor(Color.CYAN);
t_yaw.setTextColor(Color.CYAN);
// log some output to test code

//Log.i(SENSOR_SERVICE, "Send Results"+ pitch);

t_pitch.setText(pitch_round.toString());
t_roll.setText(roll_round.toString());
t_yaw.setText(yaw_round.toString());

最佳答案

改变一切喜欢

pitch_round.setScale(2,BigDecimal.ROUND_UP); 

pitch_round = pitch_round.setScale(2,BigDecimal.ROUND_UP);

BigDecimal 是不可变的,调用此方法不会导致原始对象被修改

关于java - BigDecimal 四舍五入不四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17866039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com