相关疑难解决方法(0)

DecimalFormat - 保留所有十进制数

我正在使用DecimalFormat将双精度格式化为String.然后将此String集成到我的表示层中.

  • 问题:我想保留所有小数.示例:"12345678.123456789"
  • 问题:我应该使用什么格式?
  • 备注:我使用不同的Locale来支持多种布局.

格式: ### - >这将使用所有的数字之前小数点,但张学波数字的小数点.

我可以使用#.#########作为大小数,但是如果小数更长的话怎么办?

我发现我的小测试程序很有用,并希望与您分享.

你能帮我显示所有小数吗?

package be.softwarelab.numbers;

import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;

public class DecimalNumbersTest {

    private static final double NUMBER = 123456789.123456789;

    public static void main(String[] args) {

        String format01 = "#.";
        String format02 = "#.#";
        String format03 = "#.##";
        String format04 = "#.###";
        String format05 = "#.####"; 

        System.out.println("====== NUMBER ===== USA =====================================");
        showResult(NUMBER, format01, Locale.US);
        showResult(NUMBER, format02, …
Run Code Online (Sandbox Code Playgroud)

java numbers decimalformat

6
推荐指数
1
解决办法
1493
查看次数

在Java中,如何删除float中的所有0?

我想像这样改变浮动:

10.5000 - > 10.5 10.0000 - > 10

如何删除小数点后的所有零,并将其更改为float(如果有非零)或int(如果只有零)?

提前致谢.

java floating-point zero

5
推荐指数
2
解决办法
1万
查看次数

Double to String,如何在点后删除0

可能重复:
如何很好地将浮动类型格式化为String?

我有号码:

Double d1=(Double)0;
Double d2=(Double)2.2;
Double d3=(Double)4;
Run Code Online (Sandbox Code Playgroud)

当我使用String时,我得到0.0,2.2,4.0,但我想看0,2.2,4.我该怎么做?

java android

4
推荐指数
1
解决办法
8238
查看次数

如果不是零,则格式化float以显示小数位

我需要仅在与零不同时显示浮点值的小数位.

  1. 5.0应显示为5.
  2. 7.3应显示为7.3.
  3. 9.000003应显示为9.000003.

如何使用正则表达式或DecimalFormat以这种方式格式化?

java regex floating-point decimalformat

4
推荐指数
1
解决办法
2584
查看次数

在java中相应地打印double值

我在Java中有双重值,如下所示:

2.3422
45.3267
25.0
Run Code Online (Sandbox Code Playgroud)

我想要打印的是:

2.34
45.32
25
Run Code Online (Sandbox Code Playgroud)

所以我使用了以下方法

DecimalFormat form=new DecimalFormat("#0.00");
form.format(value);
Run Code Online (Sandbox Code Playgroud)

但我面临的问题是25.0它打印25.0但是我想打印25只是我该怎么办?

请注意,将double值转换为整数将适用于25.0但是对于像2.3422这样的值会失败.

java double

2
推荐指数
1
解决办法
90
查看次数

将float格式化为最多N个小数位

我想将数字格式化为最多N个小数位。这里还有另一个类似且受欢迎的问题,但这并不是我想要的。

我正在寻找这样的东西,假设我想要最大。2个地方,所以这将是:

1.00  -> "1"    (not "1.00")
1.20  -> "1.2"  (not "1.20")
1.23  -> "1.23"
1.234 -> "1.23"
1.235 -> "1.24"
Run Code Online (Sandbox Code Playgroud)

与另一个问题的不同之处在于,如果不需要,我不想在逗号后面加上零。

我想知道这是否可以String.format()通过Math.round(),或DecimalFormat来完成。上面显示的另一个问题提供了DecimalFormat的解决方案。

给定N作为参数,答案不必为变量。我只是以N为例。

java format floating-point numbers

2
推荐指数
1
解决办法
2094
查看次数

C#如何很好地将浮动数字格式化为字符串而不必要的小数0?

我和HERE有同样的问题,但我正在使用C#,

如何在C#中做到这一点?

(如果使用Tostring("F")作为此处,所有浮点数将变为X.XX,也为0到0.00)

这是一个浮点数的例子

232.00000000
0.18000000000
1237875192.0
4.5800000000
0.00000000
1.23450000
Run Code Online (Sandbox Code Playgroud)

我想把它们变成:

232
0.18
1237875192
4.58
0
1.2345
Run Code Online (Sandbox Code Playgroud)

编辑

(我突然发现我想做的事情比上面的更复杂但是修改问题已经太晚了,也许我会在另一个问题上问它......)

c#

2
推荐指数
1
解决办法
4896
查看次数

Java:设置String.format不显示0位小数

有没有办法设置String.format,以便它不会显示00小数?例如,我想:

String.format("%.2f", 12.345d)
Run Code Online (Sandbox Code Playgroud)

显示12.34 但是

String.format("%.2f", 12.3d)
Run Code Online (Sandbox Code Playgroud)

显示12.3而不是12.30

java string string-formatting

1
推荐指数
1
解决办法
159
查看次数

Java:如何将Double连接到String

我怎么可以连接DoubleString在Java?

我有以下代码:

Double price = 5.34;
String trade = MSFT;
Run Code Online (Sandbox Code Playgroud)

现在我有String key = price + trade,不确定这是否是正确的做法,任何建议?

java

0
推荐指数
1
解决办法
1万
查看次数

浮点到字符串转换输出不同

我试图解析字符串浮动但它给了我一些不同的输出.假设我的代码:

String a = "111111111111111111111.23";
Float f = Float.parseFloat(a);
System.out.println(f);
Run Code Online (Sandbox Code Playgroud)

它给了我类似的东西: 1.1111111E20

它以简单的方式给了我 111111110000000000000

如何显示所有数据?我不想截断输入数据.

java string floating-point-conversion

-2
推荐指数
1
解决办法
58
查看次数