Colocar valor com virgula em uma jtable swing

string valor = “R$ 10,00”;

Olá pessoal alguém ai pode me ajudar tou tentando colocar esse valor R$ 10,00 numa tablema swing mais ele sempre converte para . o valor sai assim R$ 10.00 como faço para exibir da forma correta pois ja mudei o tipo nas propriedades da tabela de double para string e testei também em formato object mais também da na mesma como faço?

Experimenta usar a classe NumberFormat. Olha um exemplo:

import java.text.NumberFormat;
import java.util.Locale;

class Program {
  public static void main(String... args) {
    Locale locale = Locale.forLanguageTag("pt-BR");
    NumberFormat formatter = NumberFormat.getCurrencyInstance(locale);
    String formattedValue = formatter.format(10.50);
    System.out.println(formattedValue); // R$ 10,50
  }
}

essa classe me ajudou em uma outro problema que eu estava tendo mais para esse não deu certo ! é por que é assim jtable ela deve ter algum conversor interno dela por que eu estou congifurando ela para aceita apernas string mais quando eu coloco a variavel com uma string simples e mando exibir na tabela a tabela converte a virgula em ponto!

Será que vc precisa de um TableCellRenderer personalizado? Olha um exemplo que fiz:

import java.text.NumberFormat;
import java.util.Locale;

import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

class Program {
  private static class CurrencyTableCellRenderer extends DefaultTableCellRenderer {
    private static final NumberFormat FORMAT = NumberFormat.getCurrencyInstance(Locale.forLanguageTag("pt-br"));

    @Override
    protected void setValue(Object value) {
      super.setValue(FORMAT.format(value instanceof String ? Double.parseDouble((String) value) : value));
    }
  }

  public static void main(String... args) {
    String[] columnNames = { "Name", "Value" };

    Object[][] data = {
        { "Kathy", "100.50" },
        { "John", 200.50 },
        { "Sue", "300.50" },
        { "Jane", 400.50 },
        { "Joe", "500.50" }
    };

    JTable table = new JTable(data, columnNames);

    table.getColumnModel().getColumn(1).setCellRenderer(new CurrencyTableCellRenderer());

    JOptionPane.showMessageDialog(null, new JScrollPane(table));
  }
}

No caso eu sobrescrevi o método setValue para lidar tando com String como com double.

Obrigado vou verificar dai te dou a resposta se deu certo!

Talvez o mais fácil seria vc fazer um replace no final.

String valor = "R$ 10,00";
double valorDouble = Double.parseDouble(valor.replace(",", ".")); // converte para double

NumberFormat nf = NumberFormat.getCurrencyInstance(new Locale("pt", "BR")); // define o formato de moeda brasileiro

String valorFormatado = nf.format(valorDouble); // formata o valor com vírgula

// adicione o valor formatado na célula da tabela