南妖 发表于 2020-7-21 08:32:11

请教如何动态改变小数点位数的数值限定

请教一下,一个界面的text,设置小键盘输入,小数点的限定要按照用户的选择方式进行限定,一种模式设定小数位是2位,另外一种是小数5位,例如下拉框选择模式1,此时text的小数点为xxx.xx,选择模式2,text的小数限定为xx.xxxxx,这种应该如何实现?

Cp`sir 发表于 2020-7-21 08:59:39

输入的时候不支持限定
输入完成之后,在键盘回车,可以限定最终显示效果

LUA脚本方式,on_control_notify()函数里面,假设当前是xxx.xx,弹出键盘输入为xx.xxxxxxx,那么在脚本中,该display_text触发后,get_text(xx,xx),在string.format('%0.2f',get_text(xx,xx))

南妖 发表于 2020-7-23 07:51:12

Cp`sir 发表于 2020-7-21 08:59
输入的时候不支持限定
输入完成之后,在键盘回车,可以限定最终显示效果



这样就会都限定到了一个小数位,并不是根据特定条件,小数位数变化
比如一个text框为体积,有效小数为2位,0.00ml,切换模式之后变为称重,有效小数是5位,0.00000g,这样子lua脚本没法判断当前是体积还是称重

Cp`sir 发表于 2020-7-23 08:49:22

南妖 发表于 2020-7-23 07:51
这样就会都限定到了一个小数位,并不是根据特定条件,小数位数变化
比如一个text框为体积,有效小数为2位 ...

get_text(xx,xx),在string.format('%0.2f',get_text(xx,xx))

首先明确一点,键盘输入的框不支持动态调整,当你回车输入完毕后,最后显示在文本控件的显示效果,可以动态处理。至于你的几位小数看你有没有办法获取出来,比如你提到的【切换模式之后变为称重】,这个信息是可以捕捉到的,所以,体积string.format('%0.2f',get_text(xx,xx)),重量string.format('%0.5f',get_text(xx,xx))

页: [1]
查看完整版本: 请教如何动态改变小数点位数的数值限定