【问题标题】:String Format Question - Add two decimal point字符串格式问题 - 添加两个小数点
【发布时间】:2019-02-05 09:20:14
【问题描述】:

如何在没有小数点的字符串中添加小数点?我希望它只固定到小数点后两位而不四舍五入。

  // string x = "341231"; -> 34.1231
  // string y = "31231" -> 31.231
  // string z = "122334124" -> 12.2334124

我试过了

float a = float.Parse(string.Format("{0:n2}",341231); // -> 341231

但输出仍然保持不变。我这样做是为了获得纬度和经度的值。

【问题讨论】:

  • string a = float.Parse?
  • ... 这甚至不会编译。您不能将 float 分配给 string。
  • 你有什么尝试吗?在位置 2 添加句点似乎并不难...
  • 只取前两个字符,添加一个点,添加其余字符。
  • 浮点数根本没有任何格式,只有字符串有。

标签: c# string decimal


【解决方案1】:

为什么你不在预期的位置插入一个点并解析它

var x = "341231";
if(x.Length > 1)
     float a = float.Parse(x.Insert(2,"."));

【讨论】:

  • x.Length > 2,你不想在结尾加上.
  • 正如@TimSchmelter 所说,我将只输入 x.length > 2,谢谢您的帮助
  • @TimSchmelter 看看这个dotnetfiddle.net/Qudlyu。长度 == 2 可以工作
  • @ThierryV 我明白了,这就是为什么您将其设置为 '1'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-13
  • 2014-10-23
相关资源
最近更新 更多