相关疑难解决方法(0)

如何将十进制值舍入到2个小数位(对于页面上的输出)

当显示当前小数的值时.ToString(),它精确到15个小数位,并且由于我用它来表示美元和美分,我只希望输出为2位小数.

我是否使用此变体.ToString()

.net c# decimal rounding

610
推荐指数
16
解决办法
98万
查看次数

如何在java中将字节大小转换为人类可读的格式?

如何在Java中将字节大小转换为人类可读的格式?像1024应该变成"1 Kb"而1024*1024应该变成"1 Mb".

我有点厌倦为每个项目编写这个实用工具方法.Apache Commons中是否有任何静态方法?

java formatting apache-commons

503
推荐指数
13
解决办法
20万
查看次数

四舍五入

我有这个"科学应用程序",其中Single值应该在UI中呈现之前进行舍入.根据这篇MSDN文章,由于"精度损失",该Math.Round(Double, Int32)方法有时会"意外地"表现,例如将2.135舍入到2.13而不是2.14.

据我了解,这个问题与"银行家的四舍五入"无关(参见例如这个问题).

在应用中,有人显然选择了通过显式转换来解决这个问题Single,以一个Decimal舍入(即之前Math.Round((Decimal)mySingle, 2))来调用Math.Round(Decimal, Int32)过载来代替.除了可能出现的二进制到十进制转换问题之外,OverflowException如果该Single值太小或太大而不适合该Decimal类型,则该"解决方案"也可能导致抛出.

Math.Round(Double, Int32)如果转换失败,捕获此类错误以返回结果,并不会使我成为完美的解决方案.也不会重写应用程序以便一直使用Decimal.

是否有或多或少"正确"的方式来处理这种情况,如果是这样,它可能是什么?

.net c#

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

修剪浮子

可能重复:
在点后面只留下两位小数将
浮点数格式化为2位小数

如果我有一个包含153.2154879之类的浮点数,有没有办法将它转换为字符串但只显示4位小数?我知道我可以使用格式化"000.000",但前面的数字并不总是3位数.那么有没有办法显示所有前面的数字(153),但只有字符串中的点后面的前4个字符?

c# floating-point winforms digit

3
推荐指数
3
解决办法
6409
查看次数

Math.Round,保持小数位

例如.

Math.Round(2.314, 2) //2.31
Math.Round(2.301, 2) //2.3   , but I want this as 2.30
Run Code Online (Sandbox Code Playgroud)

c# rounding

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

使用ToString()格式化数字

我使用<myVar>.ToString("#.##");和得到的东西一样13.1,并1422.22

但我想13.1014.0022.22

一直在搜索,一切都想出如何隐藏零,这是我所拥有的任何想法

c# decimal

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