Exibição de "NaN", em vez disso, o valor de porcentagem
-
10-12-2019 - |
Pergunta
Eu estou usando o SharePoint server 2007 e o desenvolvimento de um modo de exibição personalizado usando o SharePoint Designer 2007.
Eu tenho uma coluna de uma tabela que deve apresentar números como percentagem.Mínimo de valor é 0, o máximo de 100.
Em SP Designer eu estou usando a sugestão de código:
<xsl:value-of select="format-number(@Probabilit_x00e0_, "###0,%;-###0,%", "lcid1040")" />
Mas, a menos que eu inserir um número como 0 ou 100, eu sempre vejo "NaN".Nenhum valor padrão é definido.
Por quê?
Solução
Você poderia capturar o número formatado primeiro e, em seguida, verificar um valor NaN.
<xsl:variable name="myValue" select="format-number(@Probabilit_x00e0_, "###0,%;-###0,%", "lcid1040")" />
<xsl:choose>
<xsl:when test="string(number($myValue))='NaN'">0</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$myValue" />
</xsl:otherwise>
</xsl:choose>
Isto irá alternar NaN para um zero.
Outras dicas
Ao usar a opção "formato de número", ele espera que um período de um separador de casas decimais.Com o campo de porcentagem (LCID 1036 para o francês), separador de casas decimais é a vírgula.
Eu tinha que traduzir a vírgula para fazê-lo funcionar corretamente.Eu não tenho verificado se é a mesma coisa para 1033 ou 1040 neste caso.
format-number(string(translate(@PercentField,',','.')), '#,##0%;-#')