如何将公里转换为米?

mar*_*zzz -5 .net c# math

我有一些定义“公里”的字符串,例如:

sValore = "64.8";
sValore = "64,8";
sValore = "64";
sValore = "64.82323523";
Run Code Online (Sandbox Code Playgroud)

我需要一个将其转换为仪表的功能。

第一个问题是将其转换为“双精度”。我尝试了:

double valore = double.Parse(sValore.Replace(",", "."));
Run Code Online (Sandbox Code Playgroud)

但实际上,first(64.8)的结果是648(必须为64.8)。

然后,valore * 1000我应该解决问题,但是最后一种情况呢?结果必须是64823,而不是64823.3523

那么,我该如何解决这些麻烦呢?

Jon*_*eet 5

在我看来,您应该将数据解析为a double或a decimal,然后乘以1000。理想情况下,除非真正需要,否则不应转换回字符串表示形式。(您甚至可能希望使用一个明确的长度与单位有关的数据结构,以避免以后产生歧义。)

始终尝试尽早使数据成为其最自然的表示形式,然后尽可能长时间坚持使用该表示形式。