我想获得该点之前的唯一部分,但我无法通过每种方法获得它。我的价值是1.734565456765434E-06。我想将它转换为1
答案 0 :(得分:2)
您似乎正在尝试get the most significant digit of a number。
var n = 1.734565456765434E-06;
var exp = Math.Floor(Math.Log10(n)); // -6
var result = Math.Floor(n / Math.Pow(10, exp)); // 1
这可以概括为:
var n = 1.734565456765434E-06;
var nDigits = 1; // 1 significant digit
var exp = Math.Floor(Math.Log10(n));
var result = Math.Floor(n / Math.Pow(10, exp + (1 - nDigits)));
答案 1 :(得分:0)
如果您只对科学代表的第一位数感兴趣,请尝试以下方法:
var number = 1.734565456765434E-06;
var numberString = number.ToString("E");
var firstDigitString = numberString.Substring(0, 1);
var firstDigit = int.Parse(firstDigitString);