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版本