|
@@ -44,7 +44,21 @@ function innerFormat(formatStr, rst) {
|
|
|
if (!(isNaN(parseFloat(rst[JV.PROP_VALUE])))) {
|
|
|
let dotIdx = formatStr.indexOf(".");
|
|
|
if (dotIdx >= 0) {
|
|
|
- rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(formatStr.length - dotIdx - 1);
|
|
|
+ let tmpStr = parseFloat(rst[JV.PROP_VALUE]).toFixed(formatStr.length - dotIdx - 1);
|
|
|
+ let digStr = formatStr.substr(dotIdx + 1, formatStr.length - dotIdx);
|
|
|
+ for (let sIdx = digStr.length - 1; sIdx >= 0; sIdx--) {
|
|
|
+ if (digStr[sIdx] === '#') {
|
|
|
+ if (tmpStr.length > 0 && tmpStr[tmpStr.length - 1] === '0') {
|
|
|
+ tmpStr = tmpStr.substr(0, tmpStr.length - 1);
|
|
|
+ } else {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (tmpStr[tmpStr.length - 1] === '.') tmpStr = tmpStr.substr(0, tmpStr.length - 1);
|
|
|
+ rst[JV.PROP_VALUE] = tmpStr;
|
|
|
} else {
|
|
|
rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(0);
|
|
|
}
|