서버에서 일부 데이터를 가져 오기 위해 SOAP 호출을 만들고 PHP에서 사용 가능한 SimpleXML 확장을 사용하여 읽는 중입니다. 자, amount 필드에서이 값이 2.796565248E9
과 같이 나오고 round
또는 number_format
함수를 사용하여 전체/십진수로 변환 할 수 있지만 결과는 2
일뿐입니다.PHP에서 지수 숫자 (SimpleXML 객체 문자열)를 십진수로 변환하는 방법
이제 SOAP 호출에서 여러 금액 값을 가져옵니다. 그리고 2.796565248E9
, 200.0
, 2000.0
과 같은 금액 값이 표시됩니다. round
또는 number_format
함수를 사용하면 200.0
및 2000.0
은 각각 200
및 2000
과 같은 적절한 값을 얻습니다. 하지만 2.796565248E9
의 경우 2
만 수신 중이며 2796565248
이 아니라 예상됩니다.
$value->amount
즉 가변 보유하는 것을 덤프 때, I는
object(SimpleXMLElement)#354 (1) {
[0]=> string(13) "2.796565248E9"
}
지금, I 때문에 그 결과 원하는 표시되지 생각할이 응답을 얻었다. 친절하게 여기 나를 안내. 10 진 후 값을 오프셋 두 번째 인수와
죄송합니다. 내 시나리오에서 작동하지 않았습니다. –
정수/부동 소수점 값이 아닌 문자열을 반올림하려고 시도했을 수 있습니다. 문자열을 (귀하의 경우) int/float로 변환 한 다음 반올림하려고 시도 했습니까? – groot
W3Schools는 이전보다 약간 끔찍하지만 PHP 함수의 경우 php.net의 공식 참조가 일반적으로 더 나은 리소스입니다. 예 : 이 경우 http : // php.net/round 나는 w3schools [존재하지 않는'delete' 함수에 대한 설명] (https://www.w3schools.com/php/func_filesystem_delete.asp)은 여전히 존재하지만 더 이상 어디서나 링크되지 않은 것으로 보입니다. – IMSoP