Ir para conteúdo
biakelly

[Resolvido] como limitar numero de caracteres

Recommended Posts

Oi

 

Estou fazendo um bot para o telegram, na verdade ele esta funcionando, mas estou com problema de caracteres gigantes pós o ponto. Exemplo quando chamo ele apresenta o número:

 

0.004152635241526325

 

Eu queria apresentar assim:

 

0.004152

 

Adicionei este trecho:

(["0_THKJSq4c26vz2tpnkmijgjfy28trvfg"]["price"], 6, ',', '.')

 

mas não esta funcionando, nào sei se estou fazendo corretamente, segue o trecho que preciso alterar:

 

if (strpos($message, "/price") === 0) {
    $price = json_decode(file_get_contents("https://api.justswap.io/v1/tradepairlist"), TRUE)(["0_THKJSq4c26vz2tpnkmijgjfy28trvfg"]["price"], 6, ',', '.');
    file_get_contents($path . "/sendmessage?chat_id=" . $chatId . "&text=Preço: " . $price);
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @biakelly, tudo bem?

 

Veja:

<?php
$numero = 0.004152635241526325;

echo number_format( $numero, 6, '.', '' );
// Saída: 0.004153
// O problema é que o number_format arredonda a última casa decimal.
// Talvez você não queira esse comportamento.
// Para apenas cortar, sem arredondar:

echo "\n<br>\n";// apenas uma quebra de linha

list( $inteiro, $decimal ) = explode( '.', $numero );
$decimal_cortado = substr( $decimal, 0, 6 );

echo $inteiro . '.' . $decimal_cortado;
// Saída: 0.004152

No segundo método foi utilizado o explode para que a quantidade de decimais fosse independente da quantidade de inteiros.

Exemplo: 0.123456 ter um comportamento similar a 750.123456.

 

Criando uma função para uso recorrente:

<?php
function cutDecimals( $number, $amount = 6 ) {// padrão 6
    list( $integers, $decimals ) = explode( '.', $number );
    
    return $integers . '.' . substr( $decimals, 0, $amount );
}

// Float
echo cutDecimals( 750.123456789 ) . "\n";
echo cutDecimals( .123456789 ) . "\n";
echo cutDecimals( 0.123456789 ) . "\n\n";

// String
echo cutDecimals( '750.123456789' ) . "\n";
echo cutDecimals( '.123456789' ) . "\n";
echo cutDecimals( '0.123456789' ) . "\n";

Saída:

750.123456
0.123456
0.123456

750.123456
.123456
0.123456

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por viniciusfroner
      Boa noite, estou com um grande problema, formatei o meu notebook pela ferramenta de formatação do windows, quando estava tudo instalado reparei que alguns caracteres não eram mais reconhecidos, pesquisei pela internet sem sucesso, abri um ticket junto a microsoft e eles fizeram o reparo remoto, e mesmo assim não resolveu nada.
      O problema vai desde reconhecimento de caracteres em interface do windows ou programas, até na leitura de alguns textos como arquivos .srt e outros.
       
      Em anexo 2 imagens de exemplo do que acontece.
       
      Fico grato por qualquer ajuda.


    • Por cleitonpacheco
      Preciso criar um programa em C que converta um vetor de 32 caracteres (recebidos do usuário), e os caracteres que não forem letras devem ser convertidos em espaço em branco mostrando no final o vetor resultante e a quantidade de espaços em branco. Como seria para fazer usando apenas a biblioteca 'stdio.h'?
       
       
    • Por Bruno Goedert Dalmolin
      Não consigo apresentar as palavras equivalentes conseguem me ajudar???
      O código é o seguinte: 
       
      #include <stdio.h>
      char equivale(int ddd){
          switch(ddd){
              case 61:
                  return "Brasilia";
                  break;
              case 71:
                  return "Salvador";
                  break;
              case 11:
                  return "Sao Palo";
                  break;
              case 21:
                  return "Rio de Janeiro";
                  break;
              case 32:
                  return "Juiz de Fora";
                  break;
              case 19:
                  return "Campinas";
                  break;
              case 27:
                  return "Vitoria";
                  break;
              case 31:
                  return "Belo Horizonte";
                  break;
          }
      }
      int main(){
          int ddd;
          scanf("%d",&ddd);
          equivale(ddd);
          printf("%d",equivale(ddd));
      }
    • Por ritacfreire
      Boa Tarde !!! Estou com um form que apresentava caracteres especial, corregi colocando utf8_decode
       
      Para o PC ficou bom mais no android agora vem com caracteres especiais.
       
      Como resolver.
       
      Obrigado
    • Por tony_lu
      Ola pessoal estou com um problema ao enviar mensagens de e-mail pelo site, tem provedores de emails que a mensagem vem com caracteres errados quando ocorre acentuação, ex:
       
      Ingresso(s) válido(s) especificamente para a data e horário acima.
      É obrigatório chegar com 30 minutos de antecedência em relação ao horário da reserva.
       
      No Gmail, Yahoo a mensagem fica perfeita, mas por exemplo eu abro em um Webmail de Cpanel por exemplo e a mensagem vem toda errada!
      Segue abaixo o codigo php
       
      //Envio de Email                  $emailEmpresa = 'contato@xxxx.com.br';                 $headers = "MIME-Version: 1.1\r\n";                 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";                 $headers .= "From: $emailEmpresa\r\n"; // remetente                 $headers .= "Return-Path: $emailEmpresa\r\n"; // return-path                             $to = $email;                 $from = 'From: '.$emailEmpresa.' <'.$emailEmpresa.'>'."\r\n".'Reply-To: '.$emailEmpresa;                 $subj = 'Cadastro Realizado';                 $body = "<div style='width:90%'> <center><img src='https://xxxx.com.br/emkt.jpg' /></center><br><br> <div style='width:100%; border: 1px solid #333; text-align:center; padding: 15px'>     <b>DATA DO INGRESSO:</b> $dia     <b><br>     HORÁRIO:</b> $hora     <b><br>     INGRESSOS:</b> 4  -  <b>VALOR TOTAL</b>: R$200 </div><br> <p>Olá, <strong>$nome</strong><br />   <br /> Favor ler  atentamente as regras </p> <ul>   <li>Ingresso(s)  válido(s) especificamente para a data e horário acima.</li>   <li>É  obrigatório chegar com 30 minutos de antecedência em relação ao horário da  reserva.</li> </ul> </div>"; echo     $body;                         if( mail( $to, $subj, $body, $headers )) $erro = 0; Podem me ajudar?!
       
      Obrigado
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.