1、调用如下:
//删除监听不然会造成死循环模式
transfer_amount_et.removeTextChangedListener(this)
amount = transfer_amount_et.text.toString().trim()
nsfer_amount_et.setText(NumberUtil.toFloat(amount))
transfer_amount_et.setSelection(transfer_amount_et.text.toString().length)
//完成输入金额继续添加监听事件
transfer_amount_et.addTextChangedListener(this)
object NumberUtil {
/**
* 除法
*/
fun div(a1: Double, b1: Double, scale: Int): Double {
val a2 = BigDecimal(a1.toString())
val b2 = BigDecimal(b1.toString())
return a2.divide(b2, scale, BigDecimal.ROUND_HALF_UP).toDouble()
}
/**
* TODO 除法运算,保留小数
*
* @param denominator 被除数 分母
* @param numerator 除数 分子
* @return 商
*/
fun toFloat(denominator: String): String {
if (NumberUtil.isNumeric(denominator)) {
return (denominator.toDouble() / 100).toString()
} else {
return getMoneyString(denominator).toString()
}
}
/**
*从右向左输入的金额