我正在尝试为财务应用程序创建文本字段Java FX。我希望这个texfield遵循与ATM中的数字字段相同的模式。例如:在ATM中,值字段中的初始值为" 0.00"。当用户键入他想要提取的值时,例如,键入从右到左开始,替换前导零...例如,我想提取$ 99.90(用户键入9键三次,0键一次)它发生了:
0.09 - > 0.99 - > 9.99 - > 99.90
任何人都知道如何制作这个面具?
我已经看到过类似主题的几个答案,但我无法将其中的任何一个应用到我的项目中(也许是因为我是Java初学者而且我还在学习String类,textfield方法等。)
提前感谢您的关注。
P.S。:我还不会说流利的英语,所以如果这条消息有任何语法错误,那是因为我曾经写过谷歌翻译
答案 0 :(得分:0)
基本算法如下(伪代码):
float value = 0; // The initial value is 0
// On Input
void input( int digit ){ // This is invoked when the user presses a digit on the keyboard
// You multiply the current value by ten and add the new digit
value *= 10;
value += digit * 0.01;
}
对于9990
输入,您将获得以下步骤:
1: (0.00 * 10) + (9 * 0.01) = 0.09
2: (0.09 * 10) + (9 * 0.01) = 0.99
3: (0.99 * 10) + (9 * 0.01) = 9.99
4: (9.99 * 10) + (0 * 0.01) = 99.90