请问如何在让输入数据窗口某列的值自动除以100?

c_unknower 2002-03-28 02:09:49
想做百分比
比如输
12

在数据库里变成0.12
但显示的时候还是12%

如何判断用户输的值大于100%?

有n列,n不定

谢谢
...全文
294 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
foxbill_csdn 2002-03-29
  • 打赏
  • 举报
回复
format:
string(string(round(column*100))+"%")
afey_sun 2002-03-29
  • 打赏
  • 举报
回复
首先,让用户多输一个小数点会很累吗?

你可以考虑一下signboy(横)的建议,然后再Format 00%,我想这样应该好点了吧?

c_unknower 2002-03-29
  • 打赏
  • 举报
回复
FORMAT 00%


是我输入12后

显示就变成了1200%

不行锕:(
afey_sun 2002-03-29
  • 打赏
  • 举报
回复
||还有一个问题是

||其中一列(a列) 是 a列的value * 百分比(b列)计算出来的

||在dw中怎么搞定

这个问题可以在dw里insert一个computed Filed, 至于怎么做我觉得还是自己去发现来的有意思。

一点拙见.
在EditChange里
ldec_value = dw_1.getitemnumber(ll_current_row, ls_column_name)
if ldec_value > 1 then
Else
End if
这样好象可以吧?
tainy 2002-03-29
  • 打赏
  • 举报
回复
告诉你吧。不和谢我了。

在DW中加入一个计算列“+/-”,写上列名/100,然后把原列隐藏。就可以了。
我以前也遇到过。就这么做的。
c_unknower 2002-03-29
  • 打赏
  • 举报
回复
还有一个问题是

其中一列(a列) 是 a列的value * 百分比(b列)计算出来的

在dw中怎么搞定

我很菜,不好意思
麻烦各位了
c_unknower 2002-03-29
  • 打赏
  • 举报
回复
客户的要求,唉

请问
1.如何转换
2.我想在change的时候判断是否>100%,怎么弄

再次谢谢各位老大
hecf 2002-03-29
  • 打赏
  • 举报
回复
(通过调试)
在editchanged事件里:

AcceptText()
If dwo.name <> 'c1' Then Return 0

Dec{2} num

num = Min(Max(0, Long(data)), 100) / 100
// 必须使用Post
Post SetItem( row, 'c1', num )
powerbu 2002-03-29
  • 打赏
  • 举报
回复
难道用户就苯到只会输入20,不回输入0.2吗?
fangss 2002-03-29
  • 打赏
  • 举报
回复
用计算字段吧string/100就ok了~~
hyllp 2002-03-29
  • 打赏
  • 举报
回复
先用editmask 000%
在保存的时候把它换成0。12
检索再换回来

wmxz 2002-03-29
  • 打赏
  • 举报
回复
foxbill_csdn(foxbill) 说的方法好像不行啊?
xwmhn 2002-03-28
  • 打赏
  • 举报
回复
powerbu(变) 说得不错!应该可以的!
powerbu 2002-03-28
  • 打赏
  • 举报
回复
向(大木马)说的没错。换一个思路;

若用你的做法当用户输入100时的时候会比较麻烦。

若用户输入的是100,那么下次检索出来的数据为1,要让DW再次保存时让检索出来

的1不变为0.01就只能在EDITCHANGED事件中控制。但你又不能不考虑用户输入1时

的情况,总之做起来费力不讨好。

dmm 2002-03-28
  • 打赏
  • 举报
回复
FORMAT 00%
signboy 2002-03-28
  • 打赏
  • 举报
回复
editchanged事件里面
if dwo.name="f1" then
if dec(data) >1 then
。。。

401

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧