我有一个价格:
var str1 = '10,00 €';
var str2 = '12.22 $';
我只需要获取货币符号。我写了函数:
function stringToCurrency(str){
return Number(str.replace("€", "").replace("$", "");
}
但这仅替换''
上的货币符号。如何获取货币符号?
答案 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
}
}