c#code:
float floatA = 4;
float floatB = 17;
float floatC = floatA / floatB; //0.235294119
double doubleA = 4;
double doubleB = 17;
double doubleC = doubleA / doubleB; // 0.23529411764705882
float res = (float)doubleC; // 0.235294119
js code:
var a = 4;
var b = 17;
var c = a / b; // 0.23529411764705882
var res = (a / b).toPrecition(9); // 0.235294118
为什么要使用floatC& res是0.235294119而不是0.235294118?
c#中的doubleC与js中的c相同。 基本上我需要在javascript中对数字进行舍入,就像c#一样(浮动为double)
答案 0 :(得分:0)
作为浮动,4/17 = 0.23529411852359771728515625。圆形到9位数,即0.235294119。
作为双倍,4/17 = 0.235294117647058820264049927573068998754024505615234375。圆形到9位,即0.235294118。
这是预期的四舍五入。