excel - Value2 数字作为字符串
问题描述
我遇到了一些奇怪的行为。我经常不得不将 Double 值作为字符串传递,因为我需要区分“0”和“”。
看看这个简单的例子:(我在德语语言环境中,所以我的小数分隔符是“,”)
Sub TestNumbers()
With ActiveSheet
.Cells(1, 1).Value2 = "1,6"
.Cells(1, 2).Value2 = "1,67"
.Cells(1, 3).Value2 = "1,678"
.Cells(1, 4).Value = "1,6789"
End With
End Sub
为什么在小数点后 3 位省略逗号?正如你所看到的那样.value
,它发生了。.value2
解决方案
VBA 就像在美国语言环境中一样运行。如果您在美国语言环境中手动将这些项目输入到单元格中,您会看到完全相同的结果,即一旦有足够的数字来保证逗号是千位分隔符,就会强制转换为数字。
我承认我并没有真正遵循您的逻辑“我经常必须将 Double 值作为字符串传递,因为我需要在“0”和“”之间进行区分。
推荐阅读
- javascript - Pie chart.js - 显示无数据保存消息
- multidimensional-array - 如何在 PHP 中的多维数组中不创建编号索引的情况下推入数组?
- python - Python中有什么快速创建和访问哈希表的方法吗?
- typescript - 是否可以使用 TypeOrm 从对象设置字段值?
- django - mixins 和泛型有什么区别?
- javascript - 通过调用函数从元素数组中删除重复值
- python-3.x - 使用 anaconda 安装 pybox2d 时出现问题
- receiver - 如何将消息传输到 tinyOS 中的特定节点?
- c - C: 前向声明一个 typedef 稍后将被定义用于现在声明一个函数
- algorithm - 在具有多维前驱数组的图中查找两个节点之间的所有最短路径