【问题标题】:Why is currency and not other units included in NumberFormatInfo为什么 NumberFormatInfo 中包含货币而不是其他单位
【发布时间】:2016-08-20 06:57:04
【问题描述】:

NumberFormatInfo 类包括几个与货币相关的属性,例如货币符号。这意味着可以使用标准格式字符串轻松地将对象格式化和显示为货币。也支持解析。

我的问题是,为什么支持开箱即用的货币而不是其他计量单位?我想对长度、质量、时间等做同样的事情。

自己添加这个功能容易吗?当然需要一些结构/类,因为需要知道该对象的当前度量单位是什么。

【问题讨论】:

  • 谢谢。我已经使用它进行了一些测试,但我认为我不能基于此做出一个很好的解决方案。将数字和单位转换为字符串是可以的,两条信息都在那里,但我认为解析用户输入并像微软那样获取数字和单位很难,因为 UI 中缺少单位信息。

标签: c# .net units-of-measurement


【解决方案1】:

这只是我的观点,但我认为 .NET 的开发人员决定按照您提到的方式进行操作的原因是因为货币的巨大变化范围。我的意思是:无论您是在美国还是在俄罗斯或在中国的开发人员,都有长度、平方等测量的国际标准(国际单位制)。坐标系也是一样,看点类,XY(Z)无处不在。但是,货币并非如此。在美国,官方货币是美元,在我的国家(哈萨克斯坦)是“坚戈”。

【讨论】:

  • 我同意 SI 单位制是程序内部的方式,但不幸的是,并不是每个人都希望在 UI 中像这样显示他们的单位。一瓶牛奶:0.001 立方米而不是 1 升(甚至 0.264 美加仑)。是向用户展示会导致“问题”,在内部我肯定会使用 SI。
  • @Henning 它也更加分散。 IE。英国使用什么长度单位?这取决于你测量的是什么。我们会在很多事情上使用仪表,但在我们的道路标志上仍然使用 Miles and Yards。
  • 计量单位是标准化的、不可变的、数量有限的(基本上只有两个系统),因此您可以放心地编写自己的转换函数。
  • 我有一个转换库好吧,但是我没有找到一个好的解决方案是如何在我的程序内部坚持使用 SI 并且只在 UI 中使用不同的单位系统(显示和输入)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多