我需要将英语编号转换为意大利语。
我尝试使用多个替换,但我认为这不是正确的方法。
price = Replace(price, ".", ",")
问题是,当我的数字太大时,我会被替换几次,并且会出现错误的数字。
例如:
英文版:3,450.108
替换后:3,450,108(但这是错误的)
正确格式:3.450,102
最佳答案
不推荐manually replacing values当 VBScript 已经可以使用 SetLocale()
Function 为您完成此操作时,尝试获取正确的格式与 FormatNumber()
Function 结合使用这将返回特定区域设置的该数字的字符串表示形式。
Note: Remember that the actual value and how a value is displayed are two separate things (see the example below).
Option Explicit
Const decimalplaces = 3
Dim price: price = 3450.108 'This is the raw value from your data source.
Call SetLocale("en-gb")
Call WScript.Echo("English (UK) price: " & FormatNumber(price, decimalplaces))
Call SetLocale("it-it")
Call WScript.Echo("Italian price: " & FormatNumber(price, decimalplaces))
输出:
English (UK) price: 3,450.108
Italian price: 3.450,108
关于vbscript - 如何使用 VBScript 将数字格式从英语转换为意大利语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58397236/