C# 计算百分比值在javascript和c之间有所不同#

C# 计算百分比值在javascript和c之间有所不同#,c#,javascript,math,C#,Javascript,Math,我正在尝试计算百分比值,我需要它在javascript和c#之间相似,但它不同 例如:在javascript中85=7.39499999999的百分比为8.70,但在c#中为7.395 如何使javascript具有与c#相同的输出。请建议 编辑: 在计算85和9.25的8.70%百分比时,我很难对该值进行四舍五入 85中8.70%的结果应该是7.40,但是javascript给出了7.39。 9.25的8.70%的结果应为0.80,这很好 下面是我在javascript中使用的代码: (85*

我正在尝试计算百分比值,我需要它在javascript和c#之间相似,但它不同

例如:在javascript中85=7.39499999999的百分比为8.70,但在c#中为7.395

如何使javascript具有与c#相同的输出。请建议

编辑:

在计算85和9.25的8.70%百分比时,我很难对该值进行四舍五入

85中8.70%的结果应该是7.40,但是javascript给出了7.39。 9.25的8.70%的结果应为0.80,这很好

下面是我在javascript中使用的代码:

(85*8.70/100).toFixed(2)
(9.25*8.70/100).toFixed(2)
请输入?

只需使用将数字四舍五入到小数点后的
n
位的方法即可:

7.394999999999999.toFixed(3);
有关数字可用的完整列表方法,请选中

,只需使用将数字四舍五入到小数点后的
n
位的方法:

7.394999999999999.toFixed(3);
有关数字可用的完整列表方法,请选中

,只需使用将数字四舍五入到小数点后的
n
位的方法:

7.394999999999999.toFixed(3);
有关数字可用的完整列表方法,请选中

,只需使用将数字四舍五入到小数点后的
n
位的方法:

7.394999999999999.toFixed(3);


有关数字上可用的完整列表方法,请查看C#中的

,85d*8.7d/100d给出7.3949999987。另一方面,85d/100d*8.7d得到7.395。如果使用完全相同的精度数据类型和算法,结果应该是相同的,但很难正确实现,尤其是在多平台的情况下。所以你应该使用舍入,就像处理浮点数时几乎总是使用舍入一样。

在C#中,85d*8.7d/100d给出7.3949999987。另一方面,85d/100d*8.7d得到7.395。如果使用完全相同的精度数据类型和算法,结果应该是相同的,但很难正确实现,尤其是在多平台的情况下。所以你应该使用舍入,就像处理浮点数时几乎总是使用舍入一样。

在C#中,85d*8.7d/100d给出7.3949999987。另一方面,85d/100d*8.7d得到7.395。如果使用完全相同的精度数据类型和算法,结果应该是相同的,但很难正确实现,尤其是在多平台的情况下。所以你应该使用舍入,就像处理浮点数时几乎总是使用舍入一样。

在C#中,85d*8.7d/100d给出7.3949999987。另一方面,85d/100d*8.7d得到7.395。如果使用完全相同的精度数据类型和算法,结果应该是相同的,但很难正确实现,尤其是在多平台的情况下。因此,您应该使用舍入,就像处理浮点数时几乎总是使用舍入一样。

明智的做法是在两边(JS和C#)使用“相同的舍入方法”。@AntoJurkovic感谢您的反馈。@Sniffer,感谢您的快速回答。在计算两个不同数值的百分比时,我很难对数值进行四舍五入。请检查我的更新问题。明智的做法是在两边(JS和C#)使用“相同的四舍五入方法”。@AntoJurkovic感谢您的反馈。@Sniffer,感谢您的快速回答。在计算两个不同数值的百分比时,我很难对数值进行四舍五入。请检查我的更新问题。明智的做法是在两边(JS和C#)使用“相同的四舍五入方法”。@AntoJurkovic感谢您的反馈。@Sniffer,感谢您的快速回答。在计算两个不同数值的百分比时,我很难对数值进行四舍五入。请检查我的更新问题。明智的做法是在两边(JS和C#)使用“相同的四舍五入方法”。@AntoJurkovic感谢您的反馈。@Sniffer,感谢您的快速回答。在计算两个不同值的百分比时,我很难对值进行四舍五入,请检查我的更新问题我打赌C#具有相同的结果;它恰好为您将其四舍五入。您是否使用C#中的
decimal
类型?@sniffer,是的。我在c#@Prasad中使用十进制,这就是问题所在。C#
decimal
类型为128位,而在JavaScript中,所有数字都是精度为64位的
double
浮点类型。C#十进制计算更精确,除非使用可能存在或可能不存在的外部库,否则无法在JavaScript中模拟这一点:)基本上,您不想舍入舍入值。。。(85*8.70/100)、固定(3)、固定(2)的结果是什么?(我不知道这是否可能,但Tofixed(3)应该给出7.395,应该是7.40)我打赌C#也有同样的结果;它恰好为您将其四舍五入。您是否使用C#中的
decimal
类型?@sniffer,是的。我在c#@Prasad中使用十进制,这就是问题所在。C#
decimal
类型为128位,而在JavaScript中,所有数字都是精度为64位的
double
浮点类型。C#十进制计算更精确,除非使用可能存在或可能不存在的外部库,否则无法在JavaScript中模拟这一点:)基本上,您不想舍入舍入值。。。(85*8.70/100)、固定(3)、固定(2)的结果是什么?(我不知道这是否可能,但Tofixed(3)应该给出7.395,应该是7.40)我打赌C#也有同样的结果;它恰好为您将其四舍五入。您是否使用C#中的
decimal
类型?@sniffer,是的。我在c#@Prasad中使用十进制,这就是问题所在。C#
decimal
类型为128位,而在JavaScript中,所有数字都是精度为64位的
double
浮点类型。C#计算wi