C# C中带“E”的舍入浮动#
我得到了C# C中带“E”的舍入浮动#,c#,rounding,C#,Rounding,我得到了70975401565468943e+22 和Math.Round(x,3)返回70975401565468943e+22 这是正常行为吗?我应该检查数字是否包含E,如果是,就使用类似的ToString(“N2”) 代码示例: float flo = float.Parse( " 7,0975401565468943E+22 " ); double flox = Math.Round(flo, 3); 您描述的行为看起来很正常(尽管没有代码示例,无法确定) 如图所示,您的数字在小数部
70975401565468943e+22
和Math.Round(x,3)
返回70975401565468943e+22
这是正常行为吗?我应该检查数字是否包含E,如果是,就使用类似的ToString(“N2”)代码>
代码示例:
float flo = float.Parse( " 7,0975401565468943E+22 " );
double flox = Math.Round(flo, 3);
您描述的行为看起来很正常(尽管没有代码示例,无法确定)
如图所示,您的数字在小数部分没有有效数字。注意“E+22”,这意味着您正在处理一个非常大的数字。仅显示17位有效数字,在到达小数点之前,另有5位未显示。您可以根据需要舍入到任意多的小数位数,显示的数字不会有任何变化。您描述的行为看起来很正常(尽管没有代码示例,无法确定)
如图所示,您的数字在小数部分没有有效数字。注意“E+22”,这意味着您正在处理一个非常大的数字。仅显示17位有效数字,在到达小数点之前,另有5位未显示。您可以根据需要舍入到任意多的小数位数,显示的数字不会有任何变化。您描述的行为看起来很正常(尽管没有代码示例,无法确定)
如图所示,您的数字在小数部分没有有效数字。注意“E+22”,这意味着您正在处理一个非常大的数字。仅显示17位有效数字,在到达小数点之前,另有5位未显示。您可以根据需要舍入到任意多的小数位数,显示的数字不会有任何变化。您描述的行为看起来很正常(尽管没有代码示例,无法确定)
如图所示,您的数字在小数部分没有有效数字。注意“E+22”,这意味着您正在处理一个非常大的数字。仅显示17位有效数字,在到达小数点之前,另有5位未显示。您可以根据需要舍入任意多个小数位数,显示的数字不会有任何变化。7.0975401565468943E+22是非常大的正数(可以是有理数)。数学。轮数(x,3)在3个点上循环。@al_amanat不,我添加了代码示例7.0975401565468943E+22实际上非常大,实际上它是709754015654689430000.0只是为了澄清一下-你期望输出是什么?7.098E+22?7.0975401565468943E+22是709754015654689430000而不是0.000000000000000709754015654689437.097540156468943E+22是非常大的正数(可以是有理数)。数学。轮数(x,3)在3个点上循环。@al_amanat不,我添加了代码示例7.0975401565468943E+22实际上非常大,实际上它是709754015654689430000.0只是为了澄清一下-你期望输出是什么?7.098E+22?7.0975401565468943E+22是709754015654689430000而不是0.000000000000000709754015654689437.097540156468943E+22是非常大的正数(可以是有理数)。数学。轮数(x,3)在3个点上循环。@al_amanat不,我添加了代码示例7.0975401565468943E+22实际上非常大,实际上它是709754015654689430000.0只是为了澄清一下-你期望输出是什么?7.098E+22?7.0975401565468943E+22是709754015654689430000而不是0.000000000000000709754015654689437.097540156468943E+22是非常大的正数(可以是有理数)。数学。轮数(x,3)在3个点上循环。@al_amanat不,我添加了代码示例7.0975401565468943E+22实际上非常大,实际上它是709754015654689430000.0只是为了澄清一下-你期望输出是什么?7.098E+22?7.0975401565468943E+22是709754015654689430000而不是0.000000000000000709754015654689443