I want to change this format, '$1,000,000', to '1000000'
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How to print a number with commas as thousands separators in JavaScript
我试图以这种格式获取值,
我的HTML:
1 2 3 4 5 6 | <form action="index.php" method="Get"> Enter the present value of pet: <input type="text" name="v" value="1000000"/> Enter the value of the pet you want: <input type="text" name="sv" value="1951153458"/> <input type="submit" /> </form> |
这是我的PHP:
1 2 3 4 5 6 7 8 9 |
我的计算器以这种方式工作正常:
1 | http://ffsng.deewayz.in/index.php?v=1000000&sv=1951153458 |
但我希望它是:
1 | http://ffsng.deewayz.in/index.php?v=$1,000,000&sv=$1,951,153,458 |
我很困惑如何将此格式
或者如果有其他方式。 我需要使用任何JavaScript代码吗? 在提交表单之前?
有人试图通过以下方式帮助我,但我不知道如何使用它。
1 2 3 4 |
只需替换字符串中的任何非数字字符:
1 |
UPD:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $value = '$1,951,1fd53,4.43.34'; // User submitted value // Replace any non-numerical characters but leave dots $filteredValue = preg_replace('/[^0-9.]+/', '', $value); // Retrieve"dollars" and"cents" (if exists) parts preg_match('/^(?<dollars>.*?)(\.(?<cents>[0-9]+))?$/', $filteredValue, $matches); // Combine dollars and cents $resultValue = 0; if (isset($matches['dollars'])) { $resultValue = str_replace('.', '', $matches['dollars']); if (isset($matches['cents'])) { $resultValue .= '.' . $matches['cents']; } } echo $resultValue; // Result: 1951153443.34 |
1 |
要使用您提供的功能来执行此操作:
1 2 3 4 |
在reverse_number_format函数中添加行
在服务器上进行计算,就像你已经在做的那样。 然后只需使用遮罩将其显示给用户。
喜欢:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function formated(nStr) { curr = '$ '; nStr += ''; x = nStr.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } if (x1 + x2) { return curr + x1 + x2 } else { return '' } } |
请参阅http://jsfiddle.net/RASG/RXWTM/上的工作示例。
你应该使用PHPs floatval函数。