具有货币值动态掩码的Textfield JavaFX

时间:2018-04-12 01:57:11

标签: java user-interface javafx textfield currency

我正在尝试为财务应用程序创建文本字段Java FX。我希望这个texfield遵循与ATM中的数字字段相同的模式。例如:在ATM中,值字段中的初始值为" 0.00"。当用户键入他想要提取的值时,例如,键入从右到左开始,替换前导零...例如,我想提取$ 99.90(用户键入9键三次,0键一次)它发生了:

0.09 - > 0.99 - > 9.99 - > 99.90

任何人都知道如何制作这个面具?

我已经看到过类似主题的几个答案,但我无法将其中的任何一个应用到我的项目中(也许是因为我是Java初学者而且我还在学习String类,textfield方法等。)

提前感谢您的关注。

P.S。:我还不会说流利的英语,所以如果这条消息有任何语法错误,那是因为我曾经写过谷歌翻译

1 个答案:

答案 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