<?php
function getValorDecimal($linhaDados, $posicaoInicial, $tamanhoCampo, $decimal = 0) {
$retorno = "";
$retorno = substr($linhaDados,$posicaoInicial-1 , $tamanhoCampo );
$retorno = trim($retorno);
$retorno = str_replace(".","", $retorno);
$retorno = str_replace(",",".", $retorno);
if ($retorno != "") {
$retorno = ltrim($retorno,'0');
if ($retorno == '') {
$retorno = '0';
}
if ($retorno != 0 && $decimal != 0) {
$divisor = str_pad('1', $decimal + 1, '0');
$retorno = round($retorno / $divisor , $decimal);
}
}
return $retorno;
}
function getValor2DecAlignRight($dado, $size, $completa = "0"){
$new = "";
if ($dado != ''){
$new= number_format($dado,2,'','');
$new = str_pad(substr($new,0,$size), $size, $completa, STR_PAD_LEFT);
}else{
$new = str_pad(substr($new,0,$size), $size, $completa, STR_PAD_LEFT);
}
return $new;
}
$currentLine = '000000004575000';
$valor = getValorDecimal($currentLine, 1, 15, 2);
var_dump( $valor );
$valor = getValor2DecAlignRight((string) $valor, 15);
var_dump( $valor );
preferences:
50.02 ms | 402 KiB | 5 Q