STRING_TO_REAL

Converte, se possível, o conteúdo de uma string em um valor numérico do tipo REAL. É uma função pura (sem estado; retorna o resultado diretamente).

Biblioteca: IEC_STD · Namespace: IEC · Tipo: função

Função

            STRING_TO_REAL
           +-------------+
STRING ----|S            |---- REAL
           +-------------+

Se o conteúdo da string não representar um valor numérico válido, a função retorna 0 e seta a variável de erro de sistema com o valor HILS.FAIL (1). Esse valor pode ser obtido através da função GET_SYSTEM_ERR.

Nota

É de responsabilidade do usuário garantir que o valor numérico da string possa ser representado dentro da faixa de valores suportada pelo tipo de dado REAL.

Parâmetros

Nome

Direção

Tipo

Faixa / Unidade

Descrição

S

IN

STRING

—

String a ser convertida.

Retorno / Saídas

Tipo

Faixa / Unidade

Descrição

REAL

—

Valor numérico da string fornecida, se a conversão for possível. Em caso de falha, retorna 0 e seta a variável de erro de sistema (SYSTEM_ERR).

Observações

  • Em caso de falha na conversão, use GET_SYSTEM_ERR para verificar se o valor 0 retornado corresponde de fato ao conteúdo da string ou a um erro de conversão.

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    str   : STRING := '123'; (* string de teste *)
    i_val : REAL;            (* valor convertido *)
END_VAR

(* Exemplo de ativação da função dentro da POU *)
(* ... *)
i_val := STRING_TO_REAL(str);
IF (HILS.GET_SYSTEM_ERR() = HILS.SUCCESS) THEN
    (* conversão com sucesso; i_val recebe o valor 123 da string de teste *)

ELSE
    (* conversão com falha; i_val retorna 0 *)

END_IF;
(* ... *)