如何在字符串中使用£进行四舍五入;最终输出上的符号

Javascript,How to roundup the values in string with £ symbol on final output

本文关键字:四舍五入 输出 符号 字符串 #163      更新时间:2023-09-26

我需要一个帮助从变量中收集值。

为此,我使用以下JavaScript方法

  • parseFloat ()
  • .toFixed (1)
例如

:

我正在获取百分比和数字的值

var numericValue = "890.0789";// number
numericValue = parseFloat(numericValue).toFixed(1); 
console.log(numericValue);
// out put as 890.1
var percentageValue = "98.757%";//Percentage
if (percentageValue.indexOf("%") < 0){
   percentageValue = parseFloat(percentageValue);   
   percentageValue = percentageValue.toFixed(1); 
}
console.log(percentageValue);
//out put as 98.757%

欧元值输出为NaN

var euroValue = "£16642.7890";// Euro
euroValue = parseFloat(euroValue);  
euroValue = euroValue.toFixed(1);
console.log(euroValue);
//euroValue is generating output as Nan
**Final out put, i am looking for "£16642.7"**

如何解决这个问题

任何帮助都是感激的。

JSFIDDlE链接

http://jsfiddle.net/zv86xoxy/1/

由于字符串包含字母字符,因此需要在使用任何数学函数之前删除它们。

由于£%的位置固定,也可以使用substr

percentageValue = parseFloat(percentageValue.substr(0, percentageValue.length - 1)).toFixed(1) + '%';
euroValue = euroValue[0] + parseFloat(euroValue.substr(1)).toFixed(1);

Regex也可以用来提取数字。

euroValue = '£' + parseFloat(euroValue.match(/([-'d.]+)/)[1]).toFixed(1);

正则表达式(['d.]+)将从字符串中提取数字,然后使用toFixed后可以将欧元符号连接到数字上。

<<p> Jsfiddle演示/strong>

var numericValue = "890.0789"; // number
var euroValue = "£16642.7890"; // Euro
var percentageValue = "98.757%"; //Percentage
numericValue = parseFloat(numericValue).toFixed(1);
console.log(numericValue);
percentageValue = parseFloat(percentageValue.match(/([-'d.]+)/)[1]).toFixed(1) + '%';
console.log(percentageValue);
//euroValue is generating output as Nan
euroValue = '£' + parseFloat(euroValue.match(/([-'d.]+)/)[1]).toFixed(1);
console.log(euroValue);


H已删除£变量,这条线,

var euroValue = "16642.7890";// Euro

如果value来自json,尝试使用replace()提取数字

euroValue = "£" + parseFloat(euroValue.replace(/[^'d.-]/g, "")).toFixed(1);  

查看这里的演示