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_, &quot;###0,%;-###0,%&quot;, &quot;lcid1040&quot;)" />

Mas, a menos que eu inserir um número como 0 ou 100, eu sempre vejo "NaN".Nenhum valor padrão é definido.

Por quê?

Foi útil?

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_, &quot;###0,%;-###0,%&quot;, &quot;lcid1040&quot;)" />
<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%;-#')
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top