Javascript .Nashorn发动机中的toLocaleString

Javascript .Nashorn发动机中的toLocaleString,javascript,java-8,nashorn,Javascript,Java 8,Nashorn,我得到了以下测试代码片段: ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn"); Object o = engine.eval("var i = 1000; i.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' });"); System.out.println(o); 当我开始测试时,我得到以下结果: 1000 那么,是

我得到了以下测试代码片段:

ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
Object o = engine.eval("var i = 1000; i.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' });");
System.out.println(o); 
当我开始测试时,我得到以下结果:

1000

那么,是不是Nashorn不能执行
.toLocalString()
函数?或者我必须做一些额外的工作来运行它?我在谷歌搜索过,但没有找到答案…

查看源代码,它似乎不支持toLocaleString功能。 调用函数Nashorn时,会重定向对
jdk.Nashorn.internal.objects.nativenNumber.ToLocalString(Object)
的调用。此方法只需将输入对象(即数字)转换为字符串表示形式。代码如下:

public static String toLocaleString(Object self) {
  return JSType.toString(getNumberValue(self));
}
这是我刚才看到的版本:

C:…\java\bin>jjs-version

纳肖恩1.8.0_121


你在运行哪个版本的nashorn?我使用的是1.8.0_141版本