If your number formatting is user specific or needs to be passed in using a parameter, then you need to do some extra work to make this dynamic. There are probably more that one way to do this but the example below is one way.<br />
Using a Text control on a BIRT report, you can add code similar to below to dynamically change the number formatting at runtime.
<VALUE-OF>
if (params["numberFormat"].value == true) {
df = new Packages.java.text.DecimalFormat("#,###.00");
} else {
df = new Packages.java.text.DecimalFormat("#,###");
}
df.format(row["CREDITLIMIT"]);
</VALUE-OF>