删除javascript中的decimal
remove decimal in javascript
我想从javascript中的数字中删除小数:类似这样的东西:
12 => 12
12.00 => 1200
12.12 => 1212
12.12.12 => error: please enter valid number.
我不能使用Math.round(number)
。因为,这会给我不同的结果。我怎样才能做到这一点?谢谢
处理前三个示例的最简单方法是:
function removeDecimal(num) {
return parseInt(num.toString().replace(".", ""), 10);
}
这假设论点已经是一个数字,在这种情况下,你的第二个和第四个例子是不可能的。
如果不是这样的话,你需要计算字符串中的点数,比如(这个问题中的技巧):
(str.match(/'./g) || []).length
将两者结合并投掷,您可以:
function removeDecimal(num) {
if ((num.toString().match(/'./g) || []).length > 1) throw new Error("Too many periods!");
return parseInt(num.toString().replace(".", ""), 10);
}
这适用于大多数数字,但对于特别大或精确的值可能会遇到舍入误差(例如,removeDecimal("1398080348.12341234")
将返回139808034812341230
)。
如果你知道输入总是一个数字,并且你想变得非常棘手,你也可以做一些事情,比如:
function removeDecimal(num) {
var numStr = num.toString();
if (numStr.indexOf(".") === -1) return num;
return num * Math.pow(10, numStr.length - numStr.indexOf(".") - 1);
}
您可以使用replace
方法删除字符串中的第一个句点,然后检查是否还有另一个句点:
str = str.replace('.', '');
if (str.indexOf('.') != -1) {
// invalid input
}
演示:
function reformat(str) {
str = str.replace('.', '');
if (str.indexOf('.') != -1) {
return "invalid input";
}
return str;
}
// show in Stackoverflow snippet
function show(str) {
document.write(str + '<br>');
}
show(reformat("12"));
show(reformat("12.00"));
show(reformat("12.12"));
show(reformat("12.12.12"));
number = number.replace(".", "");
怎么样?
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 可以't让我的if语句处理js中的html表单输入
- 引用对象中的通用值
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 不能从angular2中的子组件指定父组件中的数组
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如何更改bigquery API中的计费层选项
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- 我如何找到一个句子中的所有空格并替换忽略它们
- Nodejs或javascript中的Base64到decimal
- 删除javascript中的decimal