Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
332 views
in Technique[技术] by (71.8m points)

number formatting - php converting formatted int to int

Sorry for asking this but, I cant found a solution that will get this -> 7,000 to 7000.

I'm using intval() and number_format() but it will just give me 7 not 7000.

$myVal = '7,000';
echo intval($myVal);

this returns 7

same goes with number_format()

what am I doing wrong?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If you are using PHP >= 5.3 (or have the "intl" extension installed, with at least version 1.0) then you could also use the NumberFormatter class to parse a locale-specific number.

$myVal = '7,000';
$nf = new NumberFormatter("en_EN", NumberFormatter::DECIMAL);

var_dump($nf->parse($myVal, NumberFormatter::TYPE_INT32));

# output: int(7000)

If you're using a PHP-version less than 5.3 you're better of using @KevinS. solution.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...