Dados inválidos na altura de escrever na tabela (ao ler QRCODE)

Implementei esta rotina que permite obter um valor de uma sequencia de carateres neste caso estou usano um scanner 2d para ler um QRCODE
Até aqui tudo bem mesmo no PHPTESTER obtendo o valor pretendido
Rotina:
function extrairValorNumericoAposDoisPontos($sequencia) {
// Padrão de busca: tudo após “Ò:” até o próximo “" preg_match("/Ò:([^]+)/”, $sequencia, $matches);

// Verifica se o padrão foi encontrado
if (isset($matches[1])) {
    // Remove qualquer caractere que não seja número ou ponto decimal
    return preg_replace("/[^0-9.]/", "", $matches[1]);
} else {
    return "Valor não encontrado";
}

}

// Exemplo de uso:
$sequencia = “A:509630421B:128006269C:PTD:FRÈ:NF:20241127G:FR U003/117298H:JFHCCDHY-117298Ì1:PT-MAÌ3:13.35Ì4:0.53N:0.53Ò:13.88Q:NXvT`R:432”;
$resultado = extrairValorNumericoAposDoisPontos($sequencia);
echo $resultado; // Saída: 13.88

O problema quando pretendo gravar como um novo regsito o suposto 13.88 indica “valor não atribuido” ou simplemente apresenta 0.0
Não consigo perceber o que se passa.Podem ajudar-me. Obrigada

Olá Herberto,

Precisaria de mais informações sobre a sua questão, porque você jah trabalhou a parte da lógica da sua função e jah está armazenando os dados que precisa. O que não entendi eh como está salvando a informação: se eh via SQL diretamente ou dentro do formulário. Indiferentemente, na minha visão, se o seu problema eh soh no tratamento dos dados obtidos, uma simples função PHP como “(float)$variavel”, “floatval()” ou “number_format()” jah tratariam esse dado.