4
respostas

ToString com encode quebrado no R$

Porque esta dando esse erro ? segui conforme a aula.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;

namespace web
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            var livros = new List<Livro>();
            livros.Add(new Livro("001", "Quem mexeu na Minha Query", 12.99m));
            livros.Add(new Livro("002", "Fique Rico com C# R$", 30.99m));
            livros.Add(new Livro("003", "Java Para Baixinhos", 25.99m));

            app.Run(async (context) =>
            {
                   foreach(var livro in livros)
                {
                    await context.Response.WriteAsync($"{livro.Codigo,-10}{livro.Nome,-40}{livro.Preco.ToString("C"),10}\r\n");
                }

            });
        }
    }
}
4 respostas

Olá Matheus!

O que você quis dizer com erro?

Está estourando uma exceção? Não está devolvendo o R$ antes do valor?

Estamos no aguardo!

Isso, ele nao retorna o R$ , vem uns caracteres especiais como se o encode estive-se quebrado. mais é somente no retorno da mnascara. Estou usando um Mac.

Então, pode ser o encode do arquivo. Não uso Mac, então, não sei como funciona o encode do SO. Mas tem esse link da documentação que fala sobre o formato numérico para decimal.

Na imagem a seguir, mostra a tela de salvar um arquivo em C# no bloco de notas. Aqui está como UTF-8, precisa ver qual é o encode padrão do MacOS e ver se consegue fazer essa alteração. Qualquer coisa, veja se o link acima consiga resolver esse problema.

Imagem:

Bom, me diz o que aconteceu depois :)

Essa é a saida

001 Quem mexeu na Minha Query ¤12.99 002 Fique Rico com C# R$ ¤30.99 003 Java Para Baixinhos ¤25.99

creio que nao é configuração de encode, porque quando imprimo o texto vai normal, somente a mascara esta assim

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software