[size=12pt][font=arial]Olá, como faço para formatar esse número de: “R$50.328” … para “R$50.328,00” ?
Já usei number_format de todas as formas que eu sabia e não consegui…
Obrigada desde já![/font][/size]
[size=12pt][font=arial]Olá, como faço para formatar esse número de: “R$50.328” … para “R$50.328,00” ?
Já usei number_format de todas as formas que eu sabia e não consegui…
Obrigada desde já![/font][/size]
Camila coloque aqui como tu tentou…
Tentei assim Willian:
$valor_final = str_pad($valor_final, 5, ‘0’);
$valor_final = number_format($valor_final,2,",",".");
$valor_final = number_format($valor_final,2,’,’,’.’);
$valor_final = number_format($valor_final,2,","," ");
-$valor_final = number_format($valor_final,2);
Tentei dessas formas!
Ok, ta errado mesmo Camila. essa macro do SC, ela já faz o formato na própria variável ou seja não tem retorno
ficaria assim
$valor_meu = 50328;
sc_format_num($valor_meu, '.', ',', 2, 'S', '1', 'R$');
echo $valor_meu;
O resultado do echo deveria ser R$ 50.328,00
Tenta isso Camila:
$valor_final = number_format($valor_final, 2, ‘,’, ‘.’);
Guria,
dá uma olhada nessa macro:
sc_format_num
nem vi que era a função do PHP…
kkkkk
Essa macro funciona em aplicação blank ?
seguindo o seu valor sem mudar ajustando o do willian
$valor_meu = 50.328;
$valor_meu = str_replace(".","",$valor_meu);
sc_format_num($valor_meu, ‘.’, ‘,’, 2, ‘S’, ‘1’, ‘R$’);
echo $valor_meu;
Sim funciona
Vou testar povo meu.
Se não der certo com a macro como o Willian te mostrou tenta como falei:
$valor_final = number_format($valor_final, 2, ‘,’, ‘.’);
Já tentei assim Thyago, o number_format não insere zero no final.
A diferença é que o meu está com aspas simples. Veja aí se não é isso
Não deu certo de nenhum desses jeitos, estou usando isso numa blank, dentro um código de pdf.
Camila,
dá certo sim, pois eu utilizo.
Veja o que diz o help do SC, referente a macro:
Ex. 3: Formatando um valor com 4 casas decimais e preenchendo com zeros.
sc_format_num({meu_valor}, ‘.’, ‘,’, 4, ‘S’, ‘1’, ‘’);
Valor de entrada = 0012345678.9
Valor de saída = 12.345.678,9000
Camila acabei de testar isso no blank e foi normal
$valor_meu = 50.328;
$valor_meu = str_replace(".","",$valor_meu);
sc_format_num($valor_meu, ‘.’, ‘,’, 2, ‘S’, ‘1’, ‘R$’);
echo $valor_meu;
resultado : R$ 50.328,00
Opa, veja se lhe ajuda!
Funciona em uma aplicação BLANK e esse evento só funciona no evento onExecute na aplicação blank.
sc_format_num({Meu_Campo}, “Simb_Grp”, “Simb_Dec”, “Qtde_Dec”, “Enche_Zeros”, “Lado_Neg”, “Simb_Monetário”, “Lado_Simb_Monetario”)
Esta macro tem por objetivo a formatação de valores numéricos.
Parâmetro
Descrição
Meu_Campo Variável ou campo que contena o valor a ser formatado (O retorno será na própria variável).
Simb_Grp Símbolo de agrupamento dos valores inteiros.
Simb_Dec Símbolo para o separador de decimais.
Qtde_Dec Quantidade de decimais a ser exibida.
Enche_Zeros Completa com zeros as decimais inexistentes (S = sim e N = não).
Lado_Neg Lado onde o sinal de negativo deve ser exibido (1 = esquerdo e 2 = direito).
Simb_Monetário Símbolo monetário a ser exibido.
Lado_Simb_Monetário Lado onde o símbolo monetário será exibido (1 = esquerdo e 2 = direito).
Ex. 1: Formatando um número inteiro.
sc_format_num({meu_valor}, ‘.’, ‘’, 0, ‘N’, ‘1’, ‘’);
Valor de entrada = 001234567890
Valor de saída = 1.234.567.890
Ex. 2: Formatando um valor negativo e desprezando as casas decimais.
sc_format_num({meu_valor}, ‘.’, ‘’, 0, ‘N’, ‘1’, ‘’);
Valor de entrada = -0012345678.90
Valor de saída = -12.345.678
Ex. 3: Formatando um valor com 4 casas decimais e prenchendo com zeros.
sc_format_num({meu_valor}, ‘.’, ‘,’, 4, ‘S’, ‘1’, ‘’);
Valor de entrada = 0012345678.9
Valor de saída = 12.345.678,9000
Ex. 4: Formatando um valor com 2 casas decimais, prenchendo com zeros e utilizando símbolo monetário.
sc_format_num({meu_valor}, ‘.’, ‘,’, 2, ‘S’, ‘1’, ‘R$’);
Valor de entrada = 0012345678.9
Valor de saída = R$ 12.345.678,90
Ex. 5: Formatando um valor com 2 casas decimais, prenchendo com zeros.
sc_format_num({meu_valor}, ‘.’, ‘,’, 2, ‘S’, ‘1’, ‘’);
Valor de entrada = .9
Valor de saída = 0,90
Consegui resolver pessoal, tive que mudar toda a estrutura de somas dos campos, ficou mais ou menos assim:
$total = 0;
$valor_meu = $rs->fields[0];
$cvalor_meu = $valor_meu;
sc_format_num($cvalor_meu, ‘.’, ‘,’, 2, ‘S’, ‘1’, ‘’);
$valor_meu1 = $rs->fields[1];
$cvalor_meu1 = $valor_meu1;
sc_format_num($cvalor_meu1, ‘.’, ‘,’, 2, ‘S’, ‘1’, ‘’);
$total = $total + $valor_meu + $valor_meu1;
sc_format_num($total, ‘.’, ‘,’, 2, ‘S’, ‘1’, ‘’);
Ou seja, não pode usar o valor convertido para fazer os cálculos, pelo menos eu não consegui.
Obrigada gente!
É que quando você passou o valor pela macro sc_format_num ela foi convertida em string, ai tentou somar uma valor com string ai ocorre essas anomalias no PHP por ele não acusa, mas não soma porque é uma linguagem de tipagem fraca e debug arcaico, não que isso seja ruim, mas ai a responsabilidade fica em cima do programador ‘notar se não tá passando batido na hora que escreveu o código’.
https://anotacoesdohercules.wordpress.com/2013/03/05/tipagem-fracaforte-e-inferencia-de-tipo/