Javascript 使用多种形式舍入小数点后的两个空格
我试图在文本框“76.50”中得到这样的答案,而不是“76.5”,仅供参考“distanceTotal”、“rateTotal”和“dimensionsTotal”分别属于不同的单独形式(共三种形式),并已成功转换为小数点后的两个空格 “hiddenTotal”和“ultimateTotal”来自(第四种形式),并且(未)成功地转换为小数点后的两个空格的四舍五入,这正是我们在这里需要的Javascript 使用多种形式舍入小数点后的两个空格,javascript,php,html,Javascript,Php,Html,我试图在文本框“76.50”中得到这样的答案,而不是“76.5”,仅供参考“distanceTotal”、“rateTotal”和“dimensionsTotal”分别属于不同的单独形式(共三种形式),并已成功转换为小数点后的两个空格 “hiddenTotal”和“ultimateTotal”来自(第四种形式),并且(未)成功地转换为小数点后的两个空格的四舍五入,这正是我们在这里需要的 function calculate() { "use strict"; setValues(); var
function calculate() {
"use strict"; setValues();
var a = document.getElementById('distanceTotal').value;
var b = document.getElementById('rateTotal').value;
var result = document.getElementById('hiddenTotal');
var myResult = (a * 1.00 * b * 1.00);
result.value = myResult;
var d = document.getElementById('dimensionsTotal').value;
var e = document.getElementById('hiddenTotal').value;
var result2 = document.getElementById('ultimateTotal');
var myResult2 = (d * 1.00 + e * 1.00);
result2.value = myResult2;
}
<?php
error_reporting(E_ALL);
ini_set('track_errors', 1);
ini_set('display_errors', 1);
ini_set('error_prepend_string', '<font color="black"><i>');
ini_set('error_append_string', "</i></font><br />\n");
date_default_timezone_set('America/Denver');
/** Rahdeeki Raheem Zumureae * Function Name: getDistance() **/
function getDistance($addressFrom, $addressTo, $unit){
//Change address format
$formattedAddrFrom = str_replace(' ','+',$addressFrom);
$formattedAddrTo = str_replace(' ','+',$addressTo);
//Send request and receive json data
$geocodeFrom =
file_get_contents('http://maps.google.com/maps/api/geocode/json?
address='.$formattedAddrFrom.'&sensor=false');
$outputFrom = json_decode($geocodeFrom);
$geocodeTo =
file_get_contents('http://maps.google.com/maps/api/geocode/json?
address='.$formattedAddrTo.
'&sensor=false');
$outputTo = json_decode($geocodeTo);
//Get latitude and longitude from geo data
$latitudeFrom = $outputFrom->results[0]->geometry->location->lat;
$longitudeFrom = $outputFrom->results[0]->geometry->location->lng;
$latitudeTo = $outputTo->results[0]->geometry->location->lat;
$longitudeTo = $outputTo->results[0]->geometry->location->lng;
//Calculate distance from latitude and longitude
$theta = $longitudeFrom - $longitudeTo;
$dist = sin(deg2rad($latitudeFrom)) * sin(deg2rad($latitudeTo)) +
cos(deg2rad($latitudeFrom)) * cos(deg2rad($latitudeTo)) *
cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.8515;
$unit = strtoupper($unit);
if ($unit == "K") {
return round($miles * 1.609344, PHP_ROUND_HALF_UP).' km';
} else if ($unit == "N") {
return round($miles * 0.8677, PHP_ROUND_HALF_UP).'';
} else {
return $miles.'';
}
}
if (!empty($_GET['addrFrom']) && !empty($_GET['addrTo'])) {
$addressFrom = htmlspecialchars($_GET['addrFrom']);
$addressTo = htmlspecialchars($_GET['addrTo']);
$distanceTotal = getDistance($addressFrom, $addressTo, "N");
$distanceTotal = sprintf('%0.2f',round($distanceTotal,2));
$success = true;
}
?>
<?php
$selected='';
function get_options($select)
{
$rate=array('Economic Rate'=>3.00,'Standard Rate'=>4.00,'Express
Rate'=>5.00,'Quantumtheory'=>6.00);
$option='3.00';
foreach ($rate as $key_rate => $value_rate)
{
if($select==$value_rate)
{
$option.='<option value="'.$value_rate.'"
selected>'.$key_rate.'</option>';
}
else
{
$option.='<option value="'.$value_rate.'">'.$key_rate.'</option>';
}
}
return $option;
}
if(isset($_POST['rate']))
{
$selected=number_format((float)$_POST ['rate'], 2,'.','');
//$selected= $_POST['rate'];
//echo $selected;
}
?>
<?php
function getHiddenTotal($distanceTotal, $rateTotal){
//Change hiddenTotal format
$formatteddistanceTotal = str_replace(' ','+',$distanceTotal);
$formattedrateTotal = str_replace(' ','+',$rateTotal);
}
if (!empty($_POST['distanceTotal']) && !empty($_POST['rateTotal'])) {
$distanceTotal = htmlspecialchars($_POST['distanceTotal']);
$rateTotal = htmlspecialchars($_POST['rateTotal']);
$hiddenTotal = getHiddenTotal($distanceTotal, $rateTotal);
$hiddenTotal = sprintf('%0.2f', round($hiddenTotal), 2);
$success = true;
}
//$hiddenTotal ='';
?>
<!DOCTYPE html>
<html>
<head></head>
<body>
<div align="center">
<form method="get" name"lion" id"blue" >
<p class="distanceTotal">
<div id="d">
<p><b>Adress From<b>
<input type="text" name="addrFrom"
value="<?php if(isset ($_GET['addrFrom'])){echo
htmlentities($_GET['addrFrom']); } ?>" /></p>
<p><label>Adress To</label><b>
<input type="text" name="addrTo"
value="<?php if(isset ($_GET['addrTo'])){echo htmlentities($_GET['addrTo']);
} ?>" /></p>
<p><input type="text" id="distanceTotal" name="distanceTotal" value="<?php
if (!empty($distanceTotal)) { ?>
<?php if ($success = true) { echo ''. $distanceTotal; } ?>
<?php } ?>" ><b><b>Total Miles<b><b></p>
<p><input type="submit" name="submit" value="Calculate Distance" />
</p>
</div>
</p>
</form>
<form method="post" name"tiger" id="black" />
<p>
<div>
<select name="rate">
<option value="<?php echo get_options($selected);?>" /></option>
<input type='submit' id='submit_2' name="calc_2" value='Submit' />
<input type="text" id="rateTotal" name="rat" width="110px" value="<?php if
(!empty($selected)) { ?><?php if ($success = true) { echo ' '.
$selected ; } ?><?php } ?>" /><b><b><label>Per Mile</label>
</div>
</p>
</form>
<script type="text/javascript" src="js/precious_piece.js"></script>
<form method="POST" name="ofrm" id="amount" class="cat_textbox" />
<p> Please provide us with the required information (<font
color="#FF0000">Red</font> denotes required information):</p>
<p>What are the deminsions of the peices you would like us to deliver?</p>
<b>Total Wieght /Measurements</b><b><b><b>Lbs/ Inches</b><b><b><b>
<b>Totals</b><b><b><b><b><b>Price</b><b>
<b><b><b><b><b><b><b><b><b><b><b><b><b><b><b>
<p><b>Wieght</b><b><b>
<input type="text" name="qtyA" size="5" tabindex="5" oninput="calculate()"
value="" onfocus="this.value='';" ><b>Lbs....<b><b>
<input type="text" name="totalA" size="12" tabindex="99" ><b><b>1.25<b><b>
</p>
<p><b>Hieght</b><b><b>
<input type="text" name="qtyB" size="5" tabindex="5"
onfocus="this.value='';" oninput="calculate()">
<b>Inches<b><b>
<input type="text" name="totalB" size="12" tabindex="99" ><b><b>2.35<b><b>
</p>
<p><b>Widths</b><b><b>
<input type="text" name="qtyC" size="5" tabindex="5" value=""
onfocus="this.value='';" oninput="calculate()">
<b>Inches<b><b>
<input type="text" name="totalC" size="12" tabindex="99" ><b><b>1.25<b><b>
</p>
<br><p><b>Total For Dimensions</b>
<b><b>
<input type="text" id="dimensionsTotal" name="dim" size="50px" value=""
onfocus="this.value='';" >
<p>
</p>
</form>
<script type="text/javascript" src="js/precious_piece.js"></script>
<form action="javascript:(calc())" method="post" name="panther" id="green"
class="cat_textbox" /><br><br>
<input type="button" id="calculateButton" value="Calculate"
onclick="javascript:multiply();" />
<input type="text" id="hiddenTotal" name="hiddenTotal" />
<p><b><b>UltimateTotal<b><b></p>
<input type="text" id='ultimateTotal' name="ultimateTotal" />
<br><br>
<input type="reset" value="Reset"><input type="submit" value="Submit"
name="subButton" tabindex="50">
</form>
</div>
</body>
</html>
函数计算(){
“使用严格的”;setValues();
var a=document.getElementById('distanceTotal')。值;
var b=document.getElementById('rateTotal')。值;
var result=document.getElementById('hiddenTotal');
var myResult=(a*1.00*b*1.00);
result.value=myResult;
var d=document.getElementById('dimensionsTotal')。值;
var e=document.getElementById('HiddentTotal')。值;
var result2=document.getElementById('ultimateTotal');
var myResult2=(d*1.00+e*1.00);
result2.value=myResult2;
}
地址来自
从输入
中获取值
,将其解析为浮点
,最后使用toFixed
将解析值四舍五入并格式化为两位小数,如下所示:
函数格式(){
让输入=document.querySelector(“输入”);
input.value=parseFloat(input.value).toFixed(2);//设置两位小数
}
格式化
Tryvalue.toFiexd(2)
。这似乎不起作用也许我没有把它放在正确的位置我用来得到答案的值已经转换成小数点后的两个空格,所以可能是因为我试图将字符串中的值计算成另一个字符串?