以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这个算法有啥区别? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177405) |
-- 作者:blackzhu -- 发布时间:2022/5/20 13:50:00 -- 这个算法有啥区别? Dim t As String = "980 * 4, 980.6 * 2".Replace(",", "+") Output.Show(t) Output.Show(Val(t)) 我也是晕了 这个计算有啥问题 Output.Show(Val(980 * 4+ 980.6 * 2)) 跟这个有啥区别 |
-- 作者:有点蓝 -- 发布时间:2022/5/20 13:53:00 -- 我觉得没有区别。如果字符串不是写死的,可能来自其它变量表格等,使用replace情有可原。如果是写死的字符串就没有必要了 |
-- 作者:有点蓝 -- 发布时间:2022/5/20 13:59:00 -- 看漏眼了,少了双引号,下面这个就一样了 Output.Show(Val("980 * 4+ 980.6 * 2")) |
-- 作者:有点蓝 -- 发布时间:2022/5/20 14:01:00 -- 如果要做表达式计算,应该使用Eval吧,不是val |
-- 作者:blackzhu -- 发布时间:2022/5/20 14:02:00 -- 以下是引用有点蓝在2022/5/20 13:59:00的发言:
看漏眼了,少了双引号,下面这个就一样了 Output.Show(Val("980 * 4+ 980.6 * 2")) 加引号和不加引号算出来的金额是一样的
|
-- 作者:有点蓝 -- 发布时间:2022/5/20 14:08:00 -- 不可能的,又不是eval [此贴子已经被作者于2022/5/20 14:08:56编辑过]
|
-- 作者:blackzhu -- 发布时间:2022/5/20 14:13:00 -- 好久没写代码了 用错函数了 应该是 eval |
-- 作者:blackzhu -- 发布时间:2022/5/20 14:53:00 -- 奇怪 不应该呀 想不明白了 |
-- 作者:有点蓝 -- 发布时间:2022/5/20 15:06:00 -- 有特殊符号? Output.Show("|" & t & "|") Output.Show(t.length)
|
-- 作者:blackzhu -- 发布时间:2022/5/20 15:08:00 -- 原来是有空格 |