【发布时间】:2011-05-11 06:11:48
【问题描述】:
我正在编辑旧版 Visual Basic 6.0 程序。它从 GPIB 仪器中读取数据并获取科学计数法的原始字符串。例如:
2.231321654E+01
程序中的另一行处理该字符串,使其适合输入到电子表格中:
Round(2.231321654E+01, 1) 返回22.3
我希望保留 2 位小数:
Round(2.231321654E+01, 2) 应该返回22.31,但不,它返回22.3。为什么?
另一种方法:
我试图绕过Round() 处理并让程序将原始字符串直接输入到电子表格中。我仍然得到22.3
另一种方法:
我完全绕过了程序,手动将2.231321654E+01 输入到电子表格的任何单元格中。我仍然得到22.3
总结:
我想在电子表格中写入 2 个小数位。我该怎么做?我认为原作者操纵单元格编号属性仅保留小数点后一位。我该如何操作它?我应该在代码中寻找什么?
【问题讨论】:
-
Round(... , 3)也返回 1 位小数? -
@ariel,是的,即使
Round(..., 19)返回小数点后 1 位。 -
您检查过电子表格本身的格式吗?
-
@ariel:是的,电子表格格式仅保留 1 个小数位。我需要在代码中操作电子表格的格式,因为每次我开始新的读数时,程序都会创建一个新的工作表,阻止手动编辑数字格式。
-
那么您需要做的就是以编程方式更改格式。
标签: excel rounding scientific-notation vba