jjzjj

parseFloat

全部标签

在JavaScript中添加parsefloat时不正确的结果

我想执行浮点数的添加。我永远只有2个小数点。但是,如果我这样做:varnum=0;num+=parseFloat("2434545.64").toFixed(2);num+=parseFloat("454560.91").toFixed(2);我得到的价值为02434545.64454560.91它是附加而不是添加。还可以始终准确吗?看答案toFixed()返回字符串。所以你加入了两个String.您应该使用toFixed()仅在最后一个语句中,您不应该将此调用与+=操作员在一个偶数语句中,因为这里:num+=parseFloat("2434545.64").toFixed(2);parseF

mongodb - MongoDB shell 中的无序批量更新记录

我有一个包含数百万个类似于以下文档的集合:{_id:ObjectId('...'),value:"0.53"combo:[{h:0,v:"0.42"},{h:1,v:"1.32"}]}问题是值存储为字符串,我需要将它们转换为float/double。我正在尝试这个并且它正在工作但是这需要几天才能完成,考虑到数据量:db.collection.find({}).forEach(function(obj){if(typeof(obj.value)==="string"){obj.value=parseFloat(obj.value);db.collection.save(obj);}obj

javascript - MongoDB:聚合函数中的字符串字段的 parseFloat ($avg)

我正在Mongo中存储一些包含任意字段的数据。该字段存储为字符串,但可以包含二进制数据、整数、float或其他任何内容(取决于应用程序和另一个字段“类型”)。无论如何,假设我确定我正在查询的文档在此字段中存储float值,类型为字符串,我想知道这些值在特定日期范围内的平均值。不幸的是,根据$avgdocumentation,它会忽略任何非数字值。有没有办法强制parseFloat或类似的东西来动态转换文档值以安抚$avg运算符?示例文档结构:{"_id":ObjectId("540f4e29f287300b9097663d"),"DateReceived":ISODate("2014-

javascript - JavaScript 中的小数分隔符是什么?

当我编写一段处理一些浮点值的JavaScript代码时,一个想法突然出现。JavaScript中的小数点符号是什么?它总是.吗?或者它是特定于文化的?那么.toFixed()和.parseFloat()呢?如果我正在处理用户输入,它可能包含本地文化特定的小数点分隔符。最终我想编写支持用户输入中的小数点的代码-特定于文化的和.,但如果我不知道什么是JavaScript,我就无法编写这样的代码期待。已添加:好的,RubensFariassuggests看看similarquestion它有一个简洁的可接受的答案:functionwhatDecimalSeparator(){varn=1.1

javascript - JavaScript 中的小数分隔符是什么?

当我编写一段处理一些浮点值的JavaScript代码时,一个想法突然出现。JavaScript中的小数点符号是什么?它总是.吗?或者它是特定于文化的?那么.toFixed()和.parseFloat()呢?如果我正在处理用户输入,它可能包含本地文化特定的小数点分隔符。最终我想编写支持用户输入中的小数点的代码-特定于文化的和.,但如果我不知道什么是JavaScript,我就无法编写这样的代码期待。已添加:好的,RubensFariassuggests看看similarquestion它有一个简洁的可接受的答案:functionwhatDecimalSeparator(){varn=1.1

go - 转换golang时将字符串中的负数保持为负数

我正在尝试从字符串中提取LAT/LONG,但我的经度负float不断变为零,到目前为止我有:loc1:="33.333333"loc2:="-44.44444"然而,当使用strvconv包时,我的结果是:nloc1,_:=strconv.ParseFloat(loc1,64)RESULT:33.333333(successfulfloat64)nloc2,_:=strconv.ParseFloat(loc2,64)RESULT:0(successfulfloat64)关于如何阻止它变为零的任何想法?我需要保持相同的数字只是一个负float。提前致谢!编辑::问题是一个前导空间,一旦重

go - 转换golang时将字符串中的负数保持为负数

我正在尝试从字符串中提取LAT/LONG,但我的经度负float不断变为零,到目前为止我有:loc1:="33.333333"loc2:="-44.44444"然而,当使用strvconv包时,我的结果是:nloc1,_:=strconv.ParseFloat(loc1,64)RESULT:33.333333(successfulfloat64)nloc2,_:=strconv.ParseFloat(loc2,64)RESULT:0(successfulfloat64)关于如何阻止它变为零的任何想法?我需要保持相同的数字只是一个负float。提前致谢!编辑::问题是一个前导空间,一旦重

javascript - iOS Javascript 引擎 parseFloat(1) 返回负数

此代码将使错误出现:functioncauseBug(d){vark;varn=parseFloat(1);varc=Math.abs(d);if(n');}});在这个fiddle中可见:http://jsfiddle.net/H2SEN/16/(在MobileSafari中查看,向下滚动,在某个点您会看到parseFloat(1)注意一些看似不必要的代码,例如未使用的参数d和未使用的变量varc=Math.abs(d);实际上是必要的发生错误。对于return语句中n的使用和parseFloat调用也是如此(尽管parseInt也会导致它)。错误仅在真正的iPhone4s(7.0.

javascript - parseFloat 舍入

我有自动将输入字段加在一起的javascript函数,但是添加像1.35+1.35+1.35这样的数字会得到4.050000000000001的输出,这只是一个例子。如何将总数四舍五入到小数点后第二位而不是那个长字符串?输入字段将不仅仅是1.35示例,因此我需要总计在小数点后永远不会超过2点。这是完整的工作代码:functionCalc(className){varelements=document.getElementsByClassName(className);vartotal=0;for(vari=0;i1:2:Total:一些我已经尝试过的东西,它们应该可以工作,但我显然没有

不同文化中的 JavaScript parseFloat

我对JavaScript的parseFloat函数在世界不同地区的默认行为有疑问。在美国,如果您对字符串“123.34”调用parseFloat,您将得到一个float123.34。如果我在瑞典或巴西开发代码并且他们使用逗号而不是句点作为小数点分隔符,那么parseFloat函数是否需要“123,34”或“123.34”。请注意,我不是在问如何在美国解析不同文化的数字格式。我在问parseFloat在瑞典或巴西的行为方式是否与在美国境内的行为方式相同,或者它是否期望本地格式的数字?或者为了更好地思考这个问题,巴西/瑞典的开发人员是否必须先将字符串转换为英文格式,然后才能在从文本框中提取