Foxtable(狐表)用户栏目专家坐堂 → [求助]如何实现整数个位为0?


  共有5311人关注过本帖树形打印复制链接

主题:[求助]如何实现整数个位为0?

帅哥哟,离线,有人找我吗?
guruww
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:170 威望:0 精华:0 注册:2013/2/17 15:16:00
[求助]如何实现整数个位为0?  发帖心情 Post By:2013/5/23 22:39:00 [只看该作者]

在实际使用中需要将运算结果有效位数保留到十位,如结果为1836,处理后变为1840。我开始预用convert函数,如convert(计算表达式/10,‘system.int16’)*10。计ue算表达式涉及的字段列的类型都是单精度小数。但电脑报错?这是为什么?那要如何才能实现呢?谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
swaterj
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:81 积分:726 威望:0 精华:0 注册:2013/4/13 17:32:00
  发帖心情 Post By:2013/5/23 23:20:00 [只看该作者]

用 round2 函数 ,convert 函数用在表达式中,不能用在代码中

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/24 6:20:00 [只看该作者]

你的错误提示是什么?

我测试下面的表达式,是没有问题的哦:

 

Convert([数量] * [单价] * (1 - [折扣]) / 10, 'System.Int64') * 10


 回到顶部
帅哥哟,离线,有人找我吗?
guruww
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:170 威望:0 精华:0 注册:2013/2/17 15:16:00
  发帖心情 Post By:2013/5/24 9:31:00 [只看该作者]

提示内容:表达式错误,如果确定表达式无语法错误,且参与运算的各列的名称准确无误,那么请检查各列的数据类型是否正确,例如只有数值列才能参与加、减、乘、除等数学运算!

我的具体情况是:convert(列名1/列名2*100,‘system.int16’)*10。 列名1和列名2都是单精度小数,表达式列类型是短整数(实际计算值不会超过范围)。输入是在表达式生成器中进行的。单独计算“列名1/列名2*1000”没有问题。具体数据比如,列名2=139,列名1=271.5, 计算值取整为1953,但我希望处理后为1950.

不知问题出在哪里?请指教!

[此贴子已经被作者于2013-5-24 9:31:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/5/24 9:42:00 [只看该作者]

以下是引用guruww在2013-5-24 9:31:00的发言:
提示内容:表达式错误,如果确定表达式无语法错误,且参与运算的各列的名称准确无误,那么请检查各列的数据类型是否正确,例如只有数值列才能参与加、减、乘、除等数学运算!

我的具体情况是:convert(列名1/列名2*100,‘system.int16’)*10。 列名1和列名2都是单精度小数,表达式列类型是短整数(实际计算值不会超过范围)。输入是在表达式生成器中进行的。单独计算“列名1/列名2*1000”没有问题。具体数据比如,列名2=139,列名1=271.5, 计算值取整为1953,但我希望处理后为1950.

不知问题出在哪里?请指教!

[此贴子已经被作者于2013-5-24 9:31:26编辑过]

比较喜欢用代码,重来不用表达式。一不灵活,二用不来。。。。


 回到顶部
帅哥哟,离线,有人找我吗?
XYT
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1418 积分:7167 威望:0 精华:0 注册:2013/3/18 8:37:00
  发帖心情 Post By:2013/5/24 9:50:00 [只看该作者]

Convert([第一列] / [第二列]*100,'System.Int16')*10


 回到顶部
帅哥哟,离线,有人找我吗?
XYT
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1418 积分:7167 威望:0 精华:0 注册:2013/3/18 8:37:00
  发帖心情 Post By:2013/5/24 9:52:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
guruww
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:3 积分:170 威望:0 精华:0 注册:2013/2/17 15:16:00
  发帖心情 Post By:2013/5/24 10:12:00 [只看该作者]

反正我还是出这个问题。是不是使用System.int16等类型,系统需要安装什么东西或者需要进行设置?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/24 15:23:00 [只看该作者]

没有道理的,将你的文件发上来。

注意System.int16值得范围有限,你改为System.int64看看


 回到顶部