0

在.net VB 中有一个来自两个来源的多语言和多货币价格列表。对于来自我们的 SQL 服务器的价格,其中价格被保存为 Money 数据类型,如果我们更改语言,一切都很好。即,英语中的 US$599.00 在意大利语中显示为 US$599,00。

顺便说一句,货币和价格是单独的字段。

但是,当数据源来自我们的合作伙伴 Web 服务时,如果数据是字符串,那么 599.00 美元在英语中仍然是正确的,但在意大利语、西班牙语或德语中是 599.00.00 美元。我无法弄清楚它出了什么问题。并非所有价格都是完整的单位,所以我不能只解析一个整数。

任何意见,将不胜感激。

4

1 回答 1

1

来自 Web 服务的字符串是“599.00”。如果我 Convert.ToDecimal(theString) 在数据网格输出中显示时我仍然得到 599.00,00。

如果来自 Web 服务的字符串始终使用点作为小数分隔符,请使用具有as的InvariantCulture进行转换:.DecimalSeparator

decimal amount = Convert.ToDecimal("559.00", CultureInfo.InvariantCulture);
于 2013-07-05T12:19:02.187 回答