有没有办法抑制Haxe中的科学记数法?
例如,如果我有:
var f:Float = 0.00007075;
var s:String = Std.string(f);
在 html5 等目标中,此输出:0.00007075
但是,c++ 目标输出:7.075e-05
有没有办法控制是否将科学记数法用于字符串格式?
感谢
GameHaxe的Hugh Sanderson,他在论坛上回答了这个问题。
浮点数的全局输出模式可以使用 extern 更改:
class Test
{
@:native("__hxcpp_set_float_format") @:extern
static function setFloatFormat(format:String):Void { }
public static function main()
{
trace(0.00005);
trace(5e20);
setFloatFormat("%.12f");
trace(0.00005);
trace(5e20);
}
}
也许您可以切换到其他库以将浮点数转换为指定格式的字符串。 例如,https://github.com/polygonal/printf/blob/master/src/de/polygonal/Printf.hx#L119