从字符串价格中获取货币符号

时间:2019-04-18 13:39:55

标签: javascript

我有一个价格:

var str1 = '10,00 €';
var str2 = '12.22 $';

我只需要获取货币符号。我写了函数:

 function stringToCurrency(str){
    return Number(str.replace("€", "").replace("$", "");
}

但这仅替换''上的货币符号。如何获取货币符号?

4 个答案:

答案 0 :(得分:5)

如果我们使用正则表达式删除所有其他内容(数字,句点,逗号,空格),那么我们只剩下货币符号

CREATE TABLE `quiz`.`Questions` ( 
    `Questions_ID` INT NOT NULL AUTO_INCREMENT,
    `question` VARCHAR(255) NOT NULL,
    `rightanswer` VARCHAR(255) NOT NULL,
    PRIMARY KEY (`Questions_ID`)
)
ENGINE = MyISAM; 

CREATE TABLE `quiz`.`Answers` ( 
    `Questions_ID` INT NOT NULL AUTO_INCREMENT,
    `inputanswer1` VARCHAR(255) NOT NULL,
    `inputanswer2` VARCHAR(255) NOT NULL,
    `inputanswer3` VARCHAR(255) NOT NULL,
    `inputanswer4` VARCHAR(255) NOT NULL,
    `inputanswer5` VARCHAR(255) NOT NULL,
    PRIMARY KEY (`Questions_ID`)
) 
ENGINE = MyISAM;

答案 1 :(得分:1)

只需选择字符串的最后一个字符

function stringToCurrency(str) {
    return str.trim().charAt(str.length - 1);
}

答案 2 :(得分:0)

您可以简单地编写一个函数,该函数返回代表所需符号的字符串的最后一个字符。由于Javascript字符串是一个char数组,因此您可以按如下所示按字符串的长度访问最后一个字符。

function stringToCurrency(str){
    return str[str.length-1];
}

希望它会帮助您!谢谢

答案 3 :(得分:-2)

Number()的工作方式是给定任何数据集都返回整数。当您将这些变量传递给'10,00 €'时,Number函数将返回NaN,因为您正在向其中传递符号和空格。

要只返回符号,JS具有内置的方法,可以链接这些方法以轻松地处理它。

如果位置已知,但未知,我们可以使用charAt()返回给定字符串位置的值

function knownLocation(s) {
  return s.charAt(s.length -1)
}

如果该符号的位置是未知,但是您知道它在那儿,我们可以使用.includes检查其中的哪个,然后在索引处返回该字符。

function knownValue(s) {
 if (s.includes("$")) {
    return s.charAt(s.indexOf("$"))
 } else if (s.includes("€")) {
   return s.charAt(s.indexOf("€"))
 } else {
   return undefined
 }
}