Well, I got LabelClass to work, so I've partially succeeded. However, setting the fieldInfos>format>places doesn't seem to be doing the trick for me. Here's the code I implemented. The variables flayer, field and labelCDvSymbol are defined earlier in my code.
var labelsCDs = new LabelClass({labelExpressionInfo: {"value": "{"+field+"}"}, minScale: 10000000});
labelsCDs.fieldInfos = [{"fieldName": field, "format": {"places": 1}}];
labelsCDs.symbol = labelCDvSymbol;
console.log(labelsCDs);
fLayer.setLabelingInfo([labelsCDs]);
The labels show the correct field and font/symbol, but they're still just not rounded/padded to the tenth. I can see in the console that the fieldInfos>format>places has been set to 1.