相关疑难解决方法(0)

如何处理JavaScript中的浮点数精度?

我有以下虚拟测试脚本:

function test() {
  var x = 0.1 * 0.2;
  document.write(x);
}
test();
Run Code Online (Sandbox Code Playgroud)

这将打印结果0.020000000000000004,只应打印0.02(如果您使用计算器).据我所知,这是由于浮点乘法精度的误差.

有没有人有一个很好的解决方案,以便在这种情况下,我得到正确的结果0.02?我知道有类似的功能toFixed或舍入将是另一种可能性,但我想真正打印整个数字没有任何切割和舍入.只是想知道你们其中一个人是否有一些漂亮,优雅的解决方案.

当然,否则我会转到大约10位左右.

javascript floating-point

552
推荐指数
22
解决办法
34万
查看次数

JavaScript:十进制值

我可以在JavaScript中使用什么十进制类型?它不受支持(0.1 + 0.2 !== 0.3),我需要它来表示银行/金融应用程序中的确切值.请参阅JavaScript的状态和未来,以获得良好的读取和JavaScript背后的脏细节以及它(缺乏)对十进制算术的支持.

"十进制",我的意思是:

  1. 无限范围和任意精度(如BigDecimal在Java中),或
  2. 有限的范围和精度,但适用于财务计算(如decimal在C#中).

那么,使用十进制值的库或解决方案是什么?谢谢!

javascript decimal

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

将十进制变量拆分为积分和分数部分

我试图从十进制值中提取积分和小数部分(两个部分应该是整数):

decimal decimalValue = 12.34m;
int integral = (int) decimal.Truncate(decimalValue);
int fraction = (int) ((decimalValue - decimal.Truncate(decimalValue)) * 100);
Run Code Online (Sandbox Code Playgroud)

(为了我的目的,十进制变量最多包含2个小数位)

有没有更好的方法来实现这一目标?

c# decimal integral fractions

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

使用 Javascript 获取小数位数

如何使用 Javascript 计算实数的小数位数(不是数字)?

function countDecimals(number) {

}
Run Code Online (Sandbox Code Playgroud)

例如,给定 245.395,它应该返回 3。

javascript

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

标签 统计

javascript ×3

decimal ×2

c# ×1

floating-point ×1

fractions ×1

integral ×1