gpt4 book ai didi

swift - 计算小数位数(Swift)

转载 作者:行者123 更新时间:2023-11-28 11:21:18 32 4
gpt4 key购买 nike

我想将 Double 舍入到特定数量的小数位。我希望它四舍五入到其自身的确切长度。

例如“1.23”应该保持“1.23”,“1.230”应该改为“1.23”等。

我正在尝试计算小数位数并用该值四舍五入 Double。

我一直在 Playground 中尝试,但不知何故 Swift 总是四舍五入并使用不需要的小数位。

这是我到目前为止得到的

var someDouble:Double
var someString:String
var lenghtInt:Int



someDouble = 42.123 // create a float

someDouble = someDouble % 1 // get rid of everything infront of the comma

someString = NSString(format: "%f", someDouble) // format float into string

lenghtInt = someString.utf16Count - 2 // count lenght, substract 2 (for "0" & ".")

它告诉我我有 6 位小数,因为它把“000”放在末尾。

我该如何解决这个问题?

顺便说一句:

也许我的想法完全错误。所有这些的目的是在标签中显示 Float/Double 但没有不需要的小数位。它应该适用于任何给定的数字。希望你们能给我一个答案! :)

提前谢谢你

尼克拉斯

最佳答案

尝试:

let s1 = String(format: "%.19g", 1.2345) // 1.2345

不确定 swift printf 是否支持 '%g'。

编辑:19 基于 double 的精度,显示所有(非零)数字,但不会在末尾得到 ...0001。 “%g”是 float “自然”表示的 printf 格式说明符。

关于swift - 计算小数位数(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27864998/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com