如果字符串值包含浮点值,则解析并格式化它,否则返回字符串
If a string value contains a float parse and format it otherwise return the string
我使用的API只返回响应中的字符串。我需要格式化字符串中返回的任何十进制值,使其具有前导零,但没有尾随零。如果该值不是字符串中的浮点值,则应在不更改任何格式的情况下返回该值。
示例:如果值为".7"、".70"或"0.70",我的函数将始终返回"0.7"。如果值为"1+",它将返回"1+"。
起初,我认为API正在返回浮动,所以我在下面这样做。places param是要显示的小数位数。
function setDecimalPlace(input, places) {
if (isNaN(input)) return input;
var factor = "1" + Array(+(places > 0 && places + 1)).join("0");
return Math.round(input * factor) / factor;
};
如果值是十进制字符串,但如果字符串不包含浮点值,则只返回输入的值,我该如何完成上述函数的操作?顺便说一句,我正在使用Angular,最后会把它变成一个过滤器。
更新#2
也来自https://stackoverflow.com/a/3886106/4640499
function isInt(n) {
return n % 1 === 0;
}
所以在最后,你可以检查isFloat
和isInt
,然后得出它是一个字符串的结论。
正如你所说(评论)在"7.0"的情况下:
var v = '7.0';
var formatted = (isFloat(v) || isInt(parseFloat(v))) ? parseFloat(v) : v;
更新
实际上,不需要numberFormat
功能:
var v = '.7';
if(isFloat(v)) var formatted = parseFloat(v);
采用以下功能:
function isFloat(n) {
n = parseFloat(n);
// from https://stackoverflow.com/a/3886106/4640499
return n === Number(n) && n % 1 !== 0;
}
function numberFormat(e, t, n, o) {
// from http://phpjs.org/functions/number_format/
var r = e,
u = isNaN(t = Math.abs(t)) ? 2 : t,
c = void 0 == n ? '.' : n,
a = void 0 == o ? ',' : o,
l = 0 > r ? '-' : '',
d = parseInt(r = Math.abs(+r || 0).toFixed(u)) + '',
s = (s = d.length) > 3 ? s % 3 : 0
;
return l + (s ? d.substr(0, s) + a : '') +
d.substr(s).replace(/('d{3})(?='d)/g, '$1' + a) +
(u ? c + Math.abs(r - d).toFixed(u).slice(2) : '');
}
function formatFloat(e) {
return numberFormat(e, 1);
}
然后:
var v = '.7';
console.info(isFloat(v));
console.info(formatFloat(v));
if(isFloat(v)) formatFloat(v);
相关文章:
- jQuery中是否内置了任何字符串格式化函数
- 将字符串转换为格式化日期
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 如何将日期字符串视为格式化数组[EYEAR,MONTH,DAY]
- 如何格式化match()参数以定位电子邮件中的字符串
- 用逗号分割字符串,格式化后显示
- 如何格式化字符串以修复Javascript中的缩进
- momentjs 显示本地时间和自动格式化字符串
- 有没有办法在javascript中格式化字符串
- jQuery(或Javascript)基于给定的C#/VBA/Java格式字符串格式化数字的方法
- Javascript/Regex,用于在键入时格式化字符串
- 在 javascript 中从字符串格式化日期
- 如何使用变量名称实现字符串格式化程序
- JS 字符串格式化操作 - 将变量值替换为字符串
- 获取&从一个简单的字符串格式化HTML标记
- javascript函数中的PHP字符串格式化
- Javascript字符串格式化-替换保存在变量中的字符串
- Python中用于Javascript的可选字符串格式化器
- Javascript字符串格式化
- javascript中的字符串格式化