实数:大.小)"/>
android 格式化补零,【Android】SpannableString格式化数字(实数:大.小)
效果图:
实现代码:
public class StringTextUtil{
/**
* 格式化数字(实数,非实数都默认转成0.00显示)
* @param text 只能传数字
* @return
*/
public static SpannableString formatTextNumString(String text){
if(text ==null ||text.equals("")){//为空
return formatTextNumString("0.00");
}
if(!Patternpile("^[-+]?\\d+(\\.\\d+)?$").matcher(text).matches()){//不是实数(带字母或者汉字)
return formatTextNumString("0.00");
}
//设置文本大小
SpannableString spanText = new SpannableString(text);
if(text.contains(".")){
String[] list = text.split("\\.");
if(list[0] !=null){//整数字体较大
spanText.setSpan(new AbsoluteSizeSpan(45, true), 0, list[0].length(),
Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
}
if(list[1] !=null && !"".equals(list[1])){//小数字体较小
spanText.setSpan(new AbsoluteSizeSpan(30, true), list[0].length(), text.length(),
Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
}else{//如:12. ,就补零回调
return formatTextNumString(text+"00");
}
}else{//整数
text = text+".00";
return formatTextNumString(text);
}
//设置文本颜色
spanText.setSpan(new ForegroundColorSpan(Color.parseColor("#03A9F4")), 0, spanText.length(),
Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
//字体(正常)
StyleSpan span = new StyleSpan(Typeface.NORMAL);
spanText.setSpan(span, 0, spanText.length(),
Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
return spanText;
}
}
更多推荐
android 格式化补零,【Android】SpannableString格式化数字(实数:大.小)
发布评论