在 Java/Android 中将双精度格式格式化为至少一位有效数字
我有一个 DecimalFormat 对象,当我显示它们时,我用它来将所有双精度值格式化为一组数字(假设为 2)。我希望它通常格式化为小数点后两位,但我总是希望至少有一位有效数字。例如,如果我的值是 0.2,那么我的格式化程序会输出 0.20,这很好。但是,如果我的值为 0.000034,我的格式化程序将输出 0.00,而我更希望格式化程序输出 0.00003。
Objective-C 中的数字格式化程序非常简单,我只需将要显示的最大位数设置为 2,将有效数字的最小位数设置为 1,它就会产生我想要的输出,但是我怎样才能做到这一点爪哇?
我感谢任何人可以为我提供的任何帮助。
Kyle
编辑:我对四舍五入值感兴趣,因此 0.000037 显示为 0.00004。
I have a DecimalFormat object which I'm using to format all of my double values to a set number of digits (let's say 2) when I'm displaying them. I would like it to normally format to 2 decimal places, but I always want at least one significant digit. For example, if my value is 0.2 then my formatter spits out 0.20 and that's great. However, if my value is 0.000034 my formatter will spit out 0.00 and I would prefer my formatter spit out 0.00003.
The number formatters in Objective-C do this very simply, I can just set a max number of digits I want to show at 2 and the minimum number of significant digits at 1 and it produces my desired output, but how can I do it in Java?
I appreciate any help anyone can offer me.
Kyle
Edit: I'm interested in rounding the values so 0.000037 displays as 0.00004.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
它效率不高,因此如果您经常执行此操作,我会尝试其他解决方案,但如果您只是偶尔调用它,则此方法将起作用。
It's not efficient, so if you perform this operation often I'd try another solution, but if you only call it occasionally this method will work.