Поскольку каждая проблема заслуживает однострочного решения:
Number.prototype.formatCurrency = function() { return this.toFixed(2).toString().split(/[-.]/).reverse().reduceRight(function (t, c, i) { return (i == 2) ? '-' + t : (i == 1) ? t + c.replace(/(\d)(?=(\d{3})+$)/g, '$1,') : t + '.' + c; }, ' Это достаточно легко изменить для разных локалей, просто измените «$ 1» на «$ 1». а также '.' на ',' чтобы поменять местами, и. в цифрах, и символ валюты можно изменить, изменив «$» в конце.
Или, если у вас ES6, вы можете просто объявить функцию со значениями по умолчанию:
Number.prototype.formatCurrency = function(thou = ',', dec = '.', sym = ' Да, и она работает и для отрицательных чисел:
console.log((-6635.574).formatCurrency('.', ',', "\u20AC"))
-€6.635,57
console.log((-1066.507).formatCurrency())
-$1,066.51
И, конечно, вам не нужно иметь символ валюты
console.log((1234.586).formatCurrency(',','.',''))
1,234.59
console.log((-7890123.456).formatCurrency(',','.',''))
-7,890,123.46
console.log((1237890.456).formatCurrency('.',',',''))
1.237.890,46
) { return this.toFixed(2).toString().split(/[-.]/).reverse().reduceRight(function (t, c, i) { return (i == 2) ? '-' + t : (i == 1) ? t + c.replace(/(\d)(?=(\d{3})+$)/g, '$1' + thou) : t + dec + c; }, sym); }
console.log((4215.57).formatCurrency())
$4,215.57
console.log((4216635.57).formatCurrency('.', ','))
$4.216.635,57
console.log((4216635.57).formatCurrency('.', ',', "\u20AC"))
€4.216.635,57
Да, и она работает и для отрицательных чисел:
console.log((-6635.574).formatCurrency('.', ',', "\u20AC"))
-€6.635,57
console.log((-1066.507).formatCurrency())
-$1,066.51
И, конечно, вам не нужно иметь символ валюты
console.log((1234.586).formatCurrency(',','.',''))
1,234.59
console.log((-7890123.456).formatCurrency(',','.',''))
-7,890,123.46
console.log((1237890.456).formatCurrency('.',',',''))
1.237.890,46
); }
Это достаточно легко изменить для разных локалей, просто измените «$ 1» на «$ 1». а также '.' на ',' чтобы поменять местами, и. в цифрах, и символ валюты можно изменить, изменив «$» в конце.
Или, если у вас ES6, вы можете просто объявить функцию со значениями по умолчанию:
Number.prototype.formatCurrency = function(thou = ',', dec = '.', sym = ' Да, и она работает и для отрицательных чисел:
console.log((-6635.574).formatCurrency('.', ',', "\u20AC"))
-€6.635,57
console.log((-1066.507).formatCurrency())
-$1,066.51
И, конечно, вам не нужно иметь символ валюты
console.log((1234.586).formatCurrency(',','.',''))
1,234.59
console.log((-7890123.456).formatCurrency(',','.',''))
-7,890,123.46
console.log((1237890.456).formatCurrency('.',',',''))
1.237.890,46
) { return this.toFixed(2).toString().split(/[-.]/).reverse().reduceRight(function (t, c, i) { return (i == 2) ? '-' + t : (i == 1) ? t + c.replace(/(\d)(?=(\d{3})+$)/g, '$1' + thou) : t + dec + c; }, sym); }
console.log((4215.57).formatCurrency())
$4,215.57
console.log((4216635.57).formatCurrency('.', ','))
$4.216.635,57
console.log((4216635.57).formatCurrency('.', ',', "\u20AC"))
€4.216.635,57
Да, и она работает и для отрицательных чисел:
console.log((-6635.574).formatCurrency('.', ',', "\u20AC"))
-€6.635,57
console.log((-1066.507).formatCurrency())
-$1,066.51
И, конечно, вам не нужно иметь символ валюты
console.log((1234.586).formatCurrency(',','.',''))
1,234.59
console.log((-7890123.456).formatCurrency(',','.',''))
-7,890,123.46
console.log((1237890.456).formatCurrency('.',',',''))
1.237.890,46
margin-left:0px;
В Firefox UL по умолчанию дополняется слева, в IE у него есть левое поле.
Пример:
<html>
<head>
<style>
ul{
border:1px solid red;
margin:0px;
list-style:none;
padding:0px;
}
li{
border:1px solid green;
margin:0px;
}
</style>
</head>
<body>
<ul>
<li>this</li>
<li>that</li>
<li>these</li>
<li>those</li>
</ul>
</body>
</html>
Я думаю, что это должно быть be:
ul { padding: 0; margin: 0 }
li { padding: 0; }
Я только что использовал ul {list-style-position: outside; }, чтобы исправить отступ в IE.