gpt4 book ai didi

android - 如何从右到左输入十进制值(钱)?

转载 作者:搜寻专家 更新时间:2023-11-01 08:03:47 27 4
gpt4 key购买 nike

假设当加载一个字段时,它是空的。当用户键入 1 时,它表示 0.01,然后他在 1 (10) 之后键入另一个 0,它变为 0.10。当他输入另一个 1 时,它变成 1.10。

就像输入产品的价格一样。我如何在 Android 上执行此操作?老实说,我很难过,因为我从来没有尝试过这样的事情。有什么特殊的输入法吗?

最佳答案

这是我自己写的代码:

private String addCurrencySign(String digits) {
String string = "£";
// Amount length greater than 2 means we need to add a decimal point
if (digits.length() > 2) {
String pound = digits.substring(0, digits.length() - 2); // Pound part
String pence = digits.substring(digits.length() - 2); // Pence part
string += pound + "." + pence;
} else if (digits.length() == 1) {
string += "0.0" + digits;
Log.d(TAG, "length 1 " + string);
} else if (digits.length() == 2) {
string += "0." + digits;
Log.d(TAG, "length 2 " + string);
}

return string;
}

每当用户尝试在数字键盘上键入时,都会触发此 addCurrencySign 方法。数字键盘由几个数字按钮组成(就像 POS 手持设备或计算器一样)。

由于您不需要构建带有按钮的键盘,您可以尝试拦截键盘事件吗,这在Handling Keyboard Actions 中有描述。也许写这样的东西:

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_0:

return true;
case KeyEvent.KEYCODE_1:

return true;
case KeyEvent.KEYCODE_2:

return true;
case KeyEvent.KEYCODE_3:

return true;
......

default:
return super.onKeyUp(keyCode, event);
}
}

也许你不必使用 switch 子句,我的想法是拦截输入 0~9 数字的 key ,并为每个 0~9 调用 addCurrencySign 方法。

关于android - 如何从右到左输入十进制值(钱)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17167079/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com