相关疑难解决方法(0)

为什么不使用Double或Float来表示货币?

我总是被告知永远不要代表钱doublefloat类型,这次我向你提出问题:为什么?

我确信有一个很好的理由,我根本不知道它是什么.

floating-point currency

887
推荐指数
11
解决办法
27万
查看次数

将一个小数加倍到2位小数

如果值为200.3456,则应格式化为200.34.如果是200,那应该是200.00.

java double rounding

447
推荐指数
11
解决办法
113万
查看次数

在Java中最多2位小数?

我已经阅读了很多stackoverflow问题,但似乎没有一个对我有用.我正在math.round()用来完善.这是代码:

class round{
    public static void main(String args[]){

    double a = 123.13698;
    double roundOff = Math.round(a*100)/100;

    System.out.println(roundOff);
}
}
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:123但我希望它是123.14.我读到添加*100/100会有所帮助但是你可以看到我没有设法让它工作.

输入和输出都是双倍的绝对必要.

如果您更改上面代码的第4行并发布它将会非常有用.

java

179
推荐指数
10
解决办法
81万
查看次数

舍入一个double将其转换为int(java)

现在我正在尝试这个:

int a = round(n);
Run Code Online (Sandbox Code Playgroud)

这里n是一个double,但它不工作.我究竟做错了什么?

java double int rounding

110
推荐指数
4
解决办法
24万
查看次数

将浮点数舍入为2位小数的最佳做法是什么?

我正在使用eclipse + Android SDK.

我需要将浮点值舍入为2位小数.我通常使用数学库使用下一个"技巧".

float accelerometerX = accelerometerX * 100;
    accelerometerX = round(accelerometerX);
    Log.d("Test","" + accelerometerX/100);
Run Code Online (Sandbox Code Playgroud)

但我觉得这不是最好的方法.

是否有图书馆可以进行这些类型的操作?

提前致谢.

java math android

103
推荐指数
5
解决办法
15万
查看次数

如何在Android中打印带有两位小数的双精度?

也许这是一个愚蠢的问题,但如果没有创建方法,我无法猜测如何解决它.也许有一种"自然的方式"来做,例如在C中.这是问题所在:

我有一个var:

double a;
Run Code Online (Sandbox Code Playgroud)

而我想只显示2或3位小数.当我试图表明它时:

Text.setText("Value of a: " + String.valueOf(a));
Run Code Online (Sandbox Code Playgroud)

它给出了类似的东西:

价值a:5.234966145

我想要的只是

价值a:5.23

在不改变a的实际值的情况下,它显示了近似数字,但与实数一致.

format double android show settext

93
推荐指数
6
解决办法
15万
查看次数

Java:如何为double值设置Precision?

我最近正在处理数字,我有一种情况,我希望将双精度值的精度设置为6位数或4位数,具体取决于数据库中存储的值.

例如,如果在数据库中精度设置为4位,则输出必须为,

10.0000.

我试过DecimalFormat并使用字符串##.####,但每次使用符号都很烦人.

有没有更好的方法,如下所示:

Double value = 10.0;
value.setPrecision(4);
Run Code Online (Sandbox Code Playgroud)

java

86
推荐指数
5
解决办法
31万
查看次数

十进制后只显示两位数

如何得到小数点后只有两位数的双精度值.

例如

如果

i=348842.
double i2=i/60000;
tv.setText(String.valueOf(i2));
Run Code Online (Sandbox Code Playgroud)

这段代码生成5.81403333.

但我只想要5.81.

那我该怎么办?

java android number-formatting

84
推荐指数
6
解决办法
31万
查看次数

78
推荐指数
8
解决办法
26万
查看次数

如何在Java中将两个小数位舍入到两位小数?

这就是我将双精度数转换为2位小数的方法:

amount = roundTwoDecimals(amount);

public double roundTwoDecimals(double d) {
    DecimalFormat twoDForm = new DecimalFormat("#.##");
    return Double.valueOf(twoDForm.format(d));
}
Run Code Online (Sandbox Code Playgroud)

如果金额= 25.3569或类似的东西,这很好用,但如果金额= 25.00或金额= 25.0,那么我得到25.0!我想要的是舍入和格式化为2位小数.

java double

62
推荐指数
6
解决办法
22万
查看次数