Como posso formatar um número de String para ter vírgulas e arredondar?

Qual é a melhor maneira de formatar o seguinte número que me é dado como uma String?

String number = "1000500000.574" //assume my value will always be a String

Eu quero que isso seja uma String com o valor:1,000,500,000.57

Como posso formatá-lo como tal?