【问题标题】:c# Custom String Formattingc#自定义字符串格式
【发布时间】:2013-11-19 15:48:01
【问题描述】:

我们有一项将商店导入数据库的服务。纬度和经度列当前未在导入时格式化,并导致将无效值插入到我们的数据库中。因此,我需要将任何纬度/经度格式化为小数点前 3 位,之后最多 6 位,我认为这将是 Format("###.######") 但它似乎不起作用。输入值(例如 38.921322 或 -12.235)似乎不符合所提供的格式。在 C# 字符串格式化领域更有经验的任何人都可以阐明如何实现这一目标吗?提前谢谢你。

【问题讨论】:

  • 您在解析或格式化数字吗?请注意该过程中使用的CultureInfo,因为某些文化使用逗号而不是句号作为小数分隔符。
  • 您是否将 LAT/LONG 作为 VARCHAR 存储在数据库中?

标签: c# string formatting decimal


【解决方案1】:

你试过String.Format("{0:000.000000}", value);吗?

Console.WriteLine("{0:000.000000}", 123);

输出:123.000000

【讨论】:

  • 谢谢你们,正是我需要的!
【解决方案2】:

使用“0”而不是“#”。 From MSDN:

0 如果存在 1,则将 0 替换为相应的数字;否则,结果字符串中将出现零。

# 如果有,则用相应的数字替换“#”符号;否则,结果字符串中不会出现数字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多