如何使用 VBScript 将数字格式从英语转换为意大利语?
How to convert format of number from English to Italian with VBScript?
我需要将英文编号转换为意大利语。
我尝试过使用多个替代品,但我认为这不是正确的方法。
price = Replace(price, ".", ",")
问题是,当我的号码太大时,我被替换了好几次,结果出现了错误的号码。
例如:
英文版:3,450.108
替换后:3,450,108(但是错了)
正确格式:3.450,102
如果你想交换 2 个分隔符,你需要为第二个使用临时字符,否则你将无法区分原始的第二个分隔符和替换的第一个分隔符。
price = Replace(price, ".", "_")
price = Replace(price, ",", ".")
price = Replace(price, "_", ",")
不推荐 in an attempt to get the correct format when VBScript can already do it for you using the SetLocale()
Function in conjunction with the FormatNumber()
Function,它将 return 特定区域设置的该数字的字符串表示形式。
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
我需要将英文编号转换为意大利语。
我尝试过使用多个替代品,但我认为这不是正确的方法。
price = Replace(price, ".", ",")
问题是,当我的号码太大时,我被替换了好几次,结果出现了错误的号码。
例如:
英文版:3,450.108
替换后:3,450,108(但是错了)
正确格式:3.450,102
如果你想交换 2 个分隔符,你需要为第二个使用临时字符,否则你将无法区分原始的第二个分隔符和替换的第一个分隔符。
price = Replace(price, ".", "_")
price = Replace(price, ",", ".")
price = Replace(price, "_", ",")
不推荐 SetLocale()
Function in conjunction with the FormatNumber()
Function,它将 return 特定区域设置的该数字的字符串表示形式。
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