请考虑以下代码:
0.1 + 0.2 == 0.3 -> false
Run Code Online (Sandbox Code Playgroud)
0.1 + 0.2 -> 0.30000000000000004
Run Code Online (Sandbox Code Playgroud)
为什么会出现这些不准确之处?
就像Stackoverlow声誉四舍五入,我希望用货币做同样的事情
$ 1,000 => 1k
$ 1,000,000 => 1m
我怎样才能在JavaScript中实现这一点(最好是在jQuery中)?
可能重复:
有没有办法将数字转换为友好格式?(例如$ 1.1k)
如何格式化类似Stack Overflow信誉格式的数字
我在JS中有很多数字,我想让它们以更短,更易于理解的方式出现.
所以:
1,000,000 = 1M
1,200,000 = 1.2M
1,450 = 1.45K and so on...
Run Code Online (Sandbox Code Playgroud)
任何想法我如何在JS或JQuery中做到这一点?
目前正在开发一个简单的功能,对我来说做得很好..
例如:如果我有1000,它将打印1.0K,或1,000,000它将是1M,一切正常,直到这里,
如果我想将1,000,000,000转为1B怎么办?
我尝试了以下 - >
func formatPoints(from: Int) -> String {
let number = Double(from)
let thousand = number / 1000
let million = number / 1000000
let billion = number / 1000000000
if million >= 1.0 {
return "\(round(million*10)/10)M"
} else if thousand >= 1.0 {
return "\(round(thousand*10)/10)K"
} else if billion >= 1.0 {
return ("\(round(billion*10/10))B")
} else {
return "\(Int(number))"}
}
print(formatPoints(from: 1000000000))
Run Code Online (Sandbox Code Playgroud)
但它返回1000.0M,而不是1B
谢谢!