You need to have different images, 5*, 4.5 * , 4*, ... etc
Then you can use a Image Label, and set it image source(url) run time, a sample could be:
Markup:
<asp:Image runat="server" ID="imgRating" AlternateText="Average rating" />
code behind:
string url = "~/images/stars{0}.gif";
if (_value <= 1.3)
url = string.Format(url, "10");
else if (_value <= 1.8)
url = string.Format(url, "15");
else if (_value <= 2.3)
url = string.Format(url, "20");
else if (_value <= 2.8)
url = string.Format(url, "25");
else if (_value <= 3.3)
url = string.Format(url, "30");
else if (_value <= 3.8)
url = string.Format(url, "35");
else if (_value <= 4.3)
url = string.Format(url, "40");
else if (_value <= 4.8)
url = string.Format(url, "45");
else
url = string.Format(url, "50");
imgRating.ImageUrl = url;
see 2.5 image, we can save it as star25.png:
http://mmmjustlovely.files.wordpress.com/2012/07/2-5-stars.png[
^]
Se 4.5 image, save it as star45.png
http://www.easywaystosavemoney.com.au/images/689.jpg[
^]