【问题标题】:.NET price format issue.NET 价格格式问题
【发布时间】:2013-07-05 09:57:20
【问题描述】:

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

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

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

任何建议将不胜感激。

【问题讨论】:

  • 所以回顾一下:您在将字符串 "US$599.00" 解析为小数时遇到问题?
  • 不。来自 Web 服务的字符串是“599.00”。如果我 Convert.ToDecimal(theString) 在数据网格输出中显示时我仍然得到 599.00,00。

标签: .net cultureinfo


【解决方案1】:

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

如果来自 Web 服务的字符串总是使用点作为小数分隔符,请使用 InvariantCulture 进行转换,它的 .DecimalSeparator

decimal amount = Convert.ToDecimal("559.00", CultureInfo.InvariantCulture);

【讨论】:

  • 谢谢,解决得很好。
猜你喜欢
  • 1970-01-01
  • 2012-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-19
  • 1970-01-01
  • 1970-01-01
  • 2020-07-03
相关资源
最近更新 更多