在目标中抑制 Haxe 中的科学记数法



有没有办法抑制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

相关内容

  • 没有找到相关文章

最新更新