Hallo,
Kann ich das irgendwie umgehen, vielleicht auch rechnerisch? Ich möchte nämlich die vollständige Zahl mit all seinen 30 Stellen ausgeben.
Suche nach einer JS-Bibliothek zum Rechnen mit BCD-Arithmetik (BCD = Binary Coded Decimals) oder verwende die PHP zur Verfuegung stehenden BCMath-Funktionen wie bcadd(), bcmul() usw.
Aus einem JavaScript-Code heraus bietet sich die Ansprache via AJAX-Aufruf an, als Beispiel mal mit bcmul() umgesetzt.
bcmul.html:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Test by TM 02/06</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<script type="text/javascript">
/* <![CDATA[ */
var req=null;
function bcmul(in1,in2)
{
var url="bcmul.php?in1="+in1+"&in2="+in2;
if(window.XMLHttpRequest)req=new XMLHttpRequest();
else if(window.ActiveXObject)req=new ActiveXObject("Microsoft.XMLHTTP");
if(req)
{
req.onreadystatechange=callback;
req.open("GET",url,true);
req.send(null);
}
}
function callback()
{
if(req.readyState==4) // complete
{
if(req.status==200) // OK
{
var result=req.responseText;
if(result)document.forms[0].out.value=result;
else alert("Problem aufgetreten!\nStatus: "+req.statusText);
}
}
}
/* ]]> */
</script>
</head>
<body>
<h1>bcmul() mit JS + PHP</h1>
<form action="">
in1: <input type="text" name="in1" size="100" value="123456789012345678901234567890" /><br />
in2: <input type="text" name="in2" size="100" value="987654321098765432109876543210" /><br />
out: <input type="text" name="out" size="100" /><br />
<input type="button" value="Rechnen" onclick="bcmul(this.form.in1.value,this.form.in2.value)" />
</form>
</body>
</html>
mit bcmul.php:
<?php
print bcmul($_GET["in1"],$_GET["in2"]);
?>
Beispielergebnis: 121932631137021795226185032733622923332237463801111263526900
MfG, Thomas