有没有办法抑制Haxe的科学记数法?
例如,如果我有:
type Point a = (a,a)
-- Convert a String with points separated by spaces to a list of Points.
toPoints :: String -> [(Float,Float)]
toPoints s = splitOn " " s
在html5等目标中,输出:0.00007075
但是,c ++目标输出:7.075e-05
有没有办法控制科学记数法是否用于字符串格式?
答案 0 :(得分:2)
向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);
}
}
答案 1 :(得分:1)
也许你可以切换到另一个库来将浮点数转换为指定格式的字符串。例如,https://github.com/polygonal/printf/blob/master/src/de/polygonal/Printf.hx#L119