如何只取数字作为字符串?

时间:2018-08-25 18:24:05

标签: java

如果您提示用户输入价格,并且他们输入了$ 25.50,我将如何取出数字并将它们存储为Double,以便在方程式中使用它们。

我尝试过

'use strict';
const {Translate} = require('@google-cloud/translate');
const projectId = 'godwin-feb8f';
const translate = new Translate({
 projectId: projectId,
});
const text = 'Hello, world!';
const target = 'ru';
translate
.translate(text, target)
.then(results => {
const translation = results[0];
console.log(`Text: ${text}`);
console.log(`Translation: ${translation}`);
 })
.catch(err => {
console.error('ERROR:', err);
}); 

但是它不保留小数点。

1 个答案:

答案 0 :(得分:3)

您可以使用regex从字符串中去除所有非数字字符,同时保留小数点。

然后,只需将字符串解析为double

String str = "$25.50";

double dbl = Double.parseDouble(str.replaceAll("[^0-9,.]",""));
System.out.println(dbl);

在您的代码中,您也删除了小数点。只需将,.添加到您的正则表达式即可。