我正在寻找一种从右到左键入键盘的方法。虽然用户输入我想获得价值并进行格式化。从右到左键入键盘?
我正在试着这个。
public class MoneyField extends TextField implements TextChangeListener{
private static final long serialVersionUID = 1L;
private final StringBuilder MONEY_FORMAT = new StringBuilder();
public MoneyField(){
setWidth("20%");
setValue("0,00");
setMaxLength(14);
addStyleName("numeros");
setTextChangeEventMode(TextChangeEventMode.EAGER);
addTextChangeListener(this);
selectAll();
}
@Override
public void textChange(TextChangeEvent event) {
//000.000.000,00 brazilian money format
if(!event.getText().trim().isEmpty()){
if(event.getText().length() == 2){
MONEY_FORMAT.setLength(0);
MONEY_FORMAT.append(event.getText());
MONEY_FORMAT.insert(2, ",");
}else if(event.getText().length() == 6){
MONEY_FORMAT.setLength(0);
MONEY_FORMAT.append(event.getText());
MONEY_FORMAT.insert(6, ".");
}else if(event.getText().length() == 10){
MONEY_FORMAT.setLength(0);
MONEY_FORMAT.append(event.getText());
MONEY_FORMAT.insert(10, ".");
}else{
MONEY_FORMAT.setLength(0);
MONEY_FORMAT.append(event.getText());
}
}
setValue(MONEY_FORMAT.toString());
}
}
此代码的工作,但格式是如下:00,000.000.000,这里的格式由左到右,我想这种格式看起来:000.000.000,00从右到左。
我怎样才能从右到左格式化?
我使用onBlur和DecimalFormat进行了格式化。谢谢 – FernandoPaiva