java - 我应该在该函数中更改什么以获得类似 0.00 的效果?

标签 java android android-layout numbers decimal

要获得最多两位小数的小数点值,我使用了这个函数:

double roundTwoDecimals(double d) {             
    DecimalFormat twoDForm = new DecimalFormat("##.##");         
    return Double.valueOf(twoDForm.format(d)); 

但是虽然有一个像“5.50”这样的值,但是使用这个函数我只得到了“5.5”。 相反,我想获得具有上述功能的 5.50。那么我应该改变什么?

请给我更新后的函数或任何更改输出(例如“0.00”)的建议。

最佳答案

您的示例适用于将数字四舍五入为 2 位数字。但是您会丢失尾随零,因为数值变量( double 、 float ……)不存储任何格式信息。

如果你想看到尾随零(比如 5.50),你必须格式化输出的数字:

DecimalFormat twoDForm = new DecimalFormat("#0.00");         
System.out.println(twoDForm.format(d));

关于java - 我应该在该函数中更改什么以获得类似 0.00 的效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7712735/

相关文章:

android - 带有广告横幅的相对布局

java - 在 liferay 主题中使用 java 类?

java - 数组索引越界 Java 生命游戏?

java - 使用正则表达式在文件夹路径中查找字符串

java - Android/Java - 将双倍价格转换为字符串,并给出货币参数

Android 在屏幕关闭时断开 tcp 连接

android - 我的 ionic 应用程序在安装时要求太多权限

android - 椭圆在android中是什么意思?

android - 我想在运行时根据 android 中的标题大小设置弹出宽度

java - Java 11 HttpClient取消http请求