在c#中將字符串轉換/解析爲ulong並保持精度的最佳方法是什麼?
直接投射是不可能的,並且Convert類實用程序不提供ulong轉換,所以我使用了一箇中間十進制變量,但我失去了精度。c#:字符串到ulong轉換保持精度
decimal d = Decimal.Parse("1.0316584"));
Console.Write(d) // displays 1.0316584
ulong u = (ulong)d;
Console.Write(u) // displays 1 , precision is lost
我第一次嘗試使用長解析器,但還是拋出:
long l = Int64.Parse("1.0316584")); // throws System.FormatException
編輯:
好對不起我的壞:我的問題是非常嚴重的投入。 「長」在C#中確實是一個整數我被其他以前使用過的語言所困惑。此外,我必須使用ulong,因爲這是我使用的第三方代碼請求。因此,如答案中所建議的倍增因子的確是要走的路線
如果您不想丟失有效數字,您必須乘以比例因子。我想建築師會使用毫米而不是米。 –
@HansPassant LOL U're正確。問題是我使用遺留代碼,不能使用我需要做的工作的儀表 –