【问题标题】:MS Excel scientific notation (example: 2.231321654E+01)MS Excel 科学计数法(示例:2.231321654E+01)
【发布时间】: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


【解决方案1】:

大概是这样的

MyCell.NumberFormat = "#.00"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    相关资源
    最近更新 更多