MongoDB以科学计数法将数字转换为字符串

Posted

技术标签:

【中文标题】MongoDB以科学计数法将数字转换为字符串【英文标题】:MongoDB converts number to string in scientific notation 【发布时间】:2018-07-08 10:08:40 【问题描述】:

我想获得完整的数字作为String,但"1490650000000" 它返回科学计数法"1.49065e+12"

这是我尝试转换它的方法:

$substr: ["$myNumber", 0, -1];

任何想法如何防止它?

注意: 我正在使用 v3.6,无法升级到使用 $toString(感谢 mlab)。

【问题讨论】:

【参考方案1】:

你可以尝试如下。

db.collectionName.aggregate([
 $addFields:  "strFld": $toString: $toLong:"$numberFiled" ,
])

【讨论】:

【参考方案2】:

如果你有 mongodb 4.0 那么你可以使用$toLong 聚合

db.collection.aggregate([
  
    "$project": 
      "myNumber": 
        "$toLong": "$myNumber"
      
    
  
])

【讨论】:

“另外我正在使用 v3.6 并且无法更新为使用 $toString(感谢 mlab)。”不幸的是我不能使用 4.0 那么你必须用 javascript 来做这件事,因为直到 4.0 还没有可以将数字转换为字符串的运算符

以上是关于MongoDB以科学计数法将数字转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用有限的类 C 库将科学计数法字符串中的数字转换为浮点数

java代码怎么把科学计数法转换为具体数字

科学记数法如何批量转换成正常的文本或者数字

将数据帧转换为 numpy 数组会导致所有数字以科学计数法打印 [关闭]

java字符串转数字如何不显示科学计数法

js小数字换算科学计数法