例如,我有一个双精度值0.000034,我想要一个双精度值3.40E-5(请注意所需的第二个值也是一个double值,而不是字符串)。到目前为止,我发现的所有结果都将该值转换为不是意图的字符串格式。我的图表程序中有双打名单。用指数舍入double值
我已经添加了图像。这里的黄色highlighed行显示0(百分比),但事实上这是我想在这里显示的非常小的数字。但它只是显示为0而不是意图。
在此先感谢。
例如,我有一个双精度值0.000034,我想要一个双精度值3.40E-5(请注意所需的第二个值也是一个double值,而不是字符串)。到目前为止,我发现的所有结果都将该值转换为不是意图的字符串格式。我的图表程序中有双打名单。用指数舍入double值
我已经添加了图像。这里的黄色highlighed行显示0(百分比),但事实上这是我想在这里显示的非常小的数字。但它只是显示为0而不是意图。
在此先感谢。
0.000034和3.40e-5只是两种不同的方式来声明相同的变量值,它与舍入无关。只有当您将值表示为字符串时,才会看到“E”。所以如果你声明如下的2个变量,它们将具有相同的值;
double value1 = 0.000034;
double value2 = 3.40e-5;
事实上,你可以做到这一点,它不会失败:'Debug.Assert(0.000034 == 3.40e-5);' –
“只有当你将值表示为字符串时才会看到”E“。”是不正确的语句,我看到它也是如果我将double翻倍到小数点后的位数比2更多。 – user6742640
你在哪里看到它? Visual Studio调试器还向您显示字符串表示的值。真正的价值存储在内存中的方式如下所述:https://en.wikipedia.org/wiki/Double-precision_floating-point_format如果你写了类似(3.40e-5).ToString(“F15”),在双变量中会得到15个分数 – dlxeon
'3.40E-5'纯粹是一个'double'的字符串表示。 –
你想在图表中做什么? –
虽然我没有投票下来,但是你的帖子只是缺少一个“问题” –