在Edittext中输入十进制值?

3

我有一个编辑文本框,想要在其中输入十进制数值。

当我输入第一个数字时,应该像这样:.01

然后我输入第二个数字时,应该像这样:.12

接着,对于第三个数字,应该是这样的:1.23

以此类推……如何实现这种情况?有什么想法吗?

2个回答

5

你需要向EditText添加一个TextWatcher。这将在文本更改时通知您。

当您知道文本已更改时,可以通过DecimalFormat对其进行处理:

DecimalFormat decimalFormat = new DecimalFormat();
decimalFormat.setDecimalSeparatorAlwaysShown(true);
decimalFormat.setMaximumFractionDigits(2);

谢谢你的努力。但是我找不到更好的逻辑来实现这个场景。请帮忙。 - Praveen

1

您可以使用TextWatcher来查找字段值的修改,并在输入时在适当位置插入小数点。请参见此SO问题,了解使用TextWatcher的示例。


我相信我在我链接到的SO问题中有示例代码。在Google Code上,还有大量使用TextWatcher的示例:http://code.google.com/query/#q=textwatcher - Yoni Samlan
感谢您的努力。但我找不到更好的逻辑来实现这个场景。请帮忙解决。 - Praveen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接