ms-access - 为什么我从访问表单中的标签中得到类型不匹配?
问题描述
我从格式为百分比 (0.00%) 的标签中获取值。
因此,我将它转换为双精度CDBL(label.caption)
,然后出现类型不匹配错误....查看我的代码:
Forms(frmName).Label80.Caption = format(CDbl(Forms(frmName).Label123.Caption) + CDbl(Forms(frmName).Label162.Caption), "Percent")
原来:
label123
有10.00%的价值和0.00%label162
的价值
所以如果我这样做cdbl(label123)
,它会给我 10(好!)
如果我这样做cdbl(label162)
会产生错误
如果我这样做val(label162)
会产生错误
我在想它与0有关?我似乎无法弄清楚这个...
解决方案
您还可以使用该Format
函数解析百分比,并返回一个包含通用数字格式的等效值的字符串,以便使用该CDbl
函数成功转换,例如:
Forms(frmName).Label80.Caption = Format(CDbl(Format(Forms(frmName).Label123.Caption, "General Number")) + CDbl(Format(Forms(frmName).Label162.Caption, "General Number")), "Percent")
这种方法的优点是Format
函数识别字符串表示百分比,因此自动处理除以 100:
?Format("10.48%", "General Number")
0.1048
的使用CDbl
还允许十进制数字表示的区域差异(例如,使用逗号代替句点) - 感谢@Gustav 指出这一点。
推荐阅读
- amazon-web-services - 如何在 AWS S3 托管的静态网页上显示来自 DynamoDB 的数据
- android - Activity 重新创建之前未显示 Android SnackBar
- assembly - 看不懂 armv7 adr_l 指令示例
- swiftui - SwiftUI 弹出临时警报
- android - Flutter Firebase 云消息传递 onBackgroundMessage
- javascript - 联系表格重定向延迟
- java - 在 Fragment 中使用 RecyclerView 而不是 Activity 会导致 E/RecyclerView: No adapter attach; 跳过布局错误
- python - 为什么我的迭代计数从 2 而不是 1 开始?
- r - 如何将多列合并为一列并省略0?
- python - 如何使用 Shift() 和 Apply() 函数来遍历行?