在进行Scala项目时,我不知道发生了什么事。
我有以下scala代码:
val getUrl = (lat: Double, lon: Double, zoomLevel: Int) =>
s"reverse.php?format=json&lat=%2f&lon=%2f&zoom=${zoomLevel}"
.format(lat, lon)
formatLocal
是常规Java代码。
在我的计算中,它会显示类似reverse.php?format=json&lat=44.1234&lon=5.6788&zoom=10
的内容。
但是,在我们客户的一台计算机上(我无法在其上运行调试),它会以双倍格式(例如reverse.php?format=json&lat=44,1234&lon=5,6788&zoom=10
)加逗号。
我也尝试过
.formatLocal(Locale.ENGLISH, lat, lon)
没有成功。但是,以下功能可以正常工作:
val DECIMAL_FORMATTER = new DecimalFormat("#.######")
s"reverse.php?format=json&lat=${DECIMAL_FORMATTER.format(lat)}&lon=${DECIMAL_FORMATTER
.format(lon)}&zoom=${zoomLevel}"
但是我必须定义小数位数,并且我更喜欢String.format方法。
您对此行为有任何解释吗?