Público: Projetos de Software Concord: Exibindo Valores de Dados
Esta página foi alterada pela última vez em 10 de setembro de 2007 por scytacki.
Nos projetos Graph, Data e DataGraph, é necessário exibir os valores dos dados. Para tornar esses displays o mais fáceis de ler possível para diferentes níveis de usuários, o display precisa suportar muita personalização.
Java não fornece bibliotecas de impressão de números adequadas para facilitar isso.
FIXME: Aqui está um mau exemplo, substitua-o por um mais avançado.
Por exemplo, o número 1000 quando renderizado como um float no método Float.toString() do Java retorna "1000.0"
Existem pelo menos 2 tipos de configuração que os valores de dados exibidos precisam ter.
Existe a precisão real do valor que está sendo exibido. Muitos dos valores exibidos provêm de medições. E as medições têm uma faixa de erro. Uma maneira de representar isso é algo como: 1001,12 +/- 0,05. Isto tem 2 partes: os números significativos no valor real e a faixa do erro.
O outro tipo de personalização é o número de casas decimais a serem exibidas. Por exemplo, se você estiver medindo uma planta, você pode ter medido 2,2 centímetros, mas deseja mostrar apenas a seguinte sequência para um aluno da 3ª série: "ela cresceu cerca de 2 centímetros".
Outro tipo de customização é lidar com expoentes. Em alguns casos, em determinado momento, o valor exibido deverá utilizar uma forma de notação científica. Portanto, o 1000 acima seria mostrado como: "1.0 E3". Às vezes isso é necessário para economizar espaço na tela. No caso de economizar espaço na tela, é útil exibir o valor em notação decimal regular o maior tempo possível e depois mudar para notação científica quando o número ficar muito grande ou pequeno.
Atualmente, o código para fazer partes disso está espalhado. Aqui está uma lista de lugares onde ele pode ser encontrado:
A classe DataChannelDescription armazena uma precisão como um número inteiro e também possui um sinalizador que especifica se essa precisão deve ser usada ou não. Não está claro qual é o significado exato de "precisão". Alguns componentes tratam-no como "número de casas decimais que devem ser mostradas na tela" (como a tabela de dados).
Deveríamos ter um local central que fizesse isso e encorajasse as pessoas a usarem sempre as mesmas funções em vez de continuarem escrevendo as suas próprias. Deveríamos também deixar muito clara a definição de precisão e outros termos que podem não ser muito bem definidos ou compreendidos no quadro.
|Documento gerado pelo Confluence em 27 de janeiro de 2014 16:52