首页 > 解决方案 > 如何使用 VBScript 将数字格式从英语转换为意大利语?

问题描述

我需要将英文编号转换为意大利语。

我尝试使用多个替换,但我认为这不是正确的方法。

price = Replace(price, ".", ",")

问题是当我的数字太大时,我被替换了好几次,并且出现了错误的数字。

例如:

英文版:3,450.108
替换后:3,450,108(但是错了)
正确格式:3.450,102

标签: vbscriptnumbers

解决方案


不建议手动替换值以尝试获得正确的格式,因为 VBScript 已经可以为您使用SetLocale()FunctionFormatNumber()Function结合使用,它将返回特定语言环境的该数字的字符串表示形式。

注意:请记住,实际值和值的显示方式是两个不同的东西(参见下面的示例)

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

推荐阅读