有没有办法防止十进制格式
对象自动将小数点向右移动两位?
此代码:
double d = 65.87;
DecimalFormat df1 = new DecimalFormat(" #,##0.00");
DecimalFormat df2 = new DecimalFormat(" #,##0.00 %");
System.out.println(df1.format(d));
System.out.println(df2.format(d));
产生:
65.87
6,587.00 %
但是我希望它能产生:
65.87
65.87 %
我就是这样做的:
// your double in percentage:
double percentage = 0.6587;
// how I get the number in as many decimal places as I need:
double doub = (100*10^n*percentage);
System.out.println("TEST: " + doub/10^n + "%");
其中n是所需的小数位数。
我知道这不是最干净的方法,但它有效。
希望这有帮助。
默认情况下,在格式字符串中使用%
时,要格式化的值将首先乘以100。您可以使用十进制格式将乘法器更改为1。setMultiplier()
方法。
double d = 65.87;
DecimalFormat df2 = new DecimalFormat(" #,##0.00 %");
df2.setMultiplier(1);
System.out.println(df2.format(d));
产生
65.87 %
用单引号包围你的%:
DecimalFormat df2 = new DecimalFormat(" #,##0.00 '%'");
我正在使用DecimalFormats将双打格式化为字符串。然后这个字符串被集成到我的表示层中。 问题:我想保留所有的小数。示例:“12345678.123456789” 格式:#.#- 我可以用##########对于大小数点,但是如果小数点更长呢? 我发现我的小测试程序很有用,想和大家分享。 你能帮我显示所有小数吗? 这导致: 编辑:一位用户提到了一个相关的问题:如何很好地将浮点数格式化为字符
是否可以使用一种方法或其他方法,而不是“%.6f”。格式(值)以实现相同的目标?这是我的代码: 我想让它更具动态性和可读性
问题内容: 我在格式化双精度小数时遇到一些问题。如果我有一个双精度值,例如4.0,我该如何格式化小数位使其改为4.00? 问题答案: 一种方法是使用NumberFormat。
我在格式化双精度小数时遇到了一些问题。如果我有一个双精度值,例如4.0,我如何设置小数的格式,使其变为4.00?
问题内容: 我需要将一个十进制值格式化为一个字符串,在该字符串中,我总是以至少2个小数和最多4个小数显示。 所以举个例子 可以使用String.format命令完成此操作吗? 还是在Java中有更简单/更好的方法来做到这一点。 问题答案: 您需要java.text.DecimalFormat。
Python3 实例 以下代码用于实现十进制转二进制、八进制、十六进制: # -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 获取用户输入十进制数 dec = int(input("输入数字:")) print("十进制数为:", dec) print("转换为二进制为:", bin(dec