gpt4 book ai didi

floating-point - 如何在 Haxe 中可靠地将 float 格式化为指定的小数位数

转载 作者:行者123 更新时间:2023-12-01 09:26:03 25 4
gpt4 key购买 nike

我想知道是否有 reliable转换 Float 的方法x联系 String具有指定的小数位数,例如3.

一个直接的方法是先转换 x到字符串表示,然后在小数点后给定数量的字符后修剪所有内容. ,如图 here .但是,如果某些平台显示类似 0.0111 的数字会发生什么?如 1.11e-2 ?

我似乎找不到 printf在 haxe 中,这将使我能够以正确的方式格式化数字。我想知道在 haxe 中执行此操作的最佳做​​法是什么。

我想在结果中获得字符串,因为在某些系统中,浮点数会给你,例如,0.19999 .. 来自 2/10.0 .仅截断小数点后的特定数量的字符是不准确的。

最佳答案

public static function floatToStringPrecision(n:Float, prec:Int){
n = Math.round(n * Math.pow(10, prec));
var str = ''+n;
var len = str.length;
if(len <= prec){
while(len < prec){
str = '0'+str;
len++;
}
return '0.'+str;
}
else{
return str.substr(0, str.length-prec) + '.'+str.substr(str.length-prec);
}
}

在某些平台上,对于大数字(> MAX_INT),Round 可能会失败,因此对于这种情况,您需要自己的 round 函数。

关于floating-point - 如何在 Haxe 中可靠地将 float 格式化为指定的小数位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23689001/

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