Ваше двойное значение находится в своем собственном поле, или оно находится в поле sectionkey или rowkey? PartitionKey и RowKey всегда являются строками.
Я только что создал простой тест, который записывает и читает строку с двойным полем, и значения сохраняются очень хорошо. Я изменил пример класса SmsMessage из SMS-кода Билла Лодина через тренинг msdev.com (я взял поле int Delay, изменил его на float и переименовал в MyDouble для пояснения):
public class SmsMessage: TableServiceEntity
{
public double MyDouble { get; set; }
public SmsMessage(string destination, string message, double myDouble)
{
PartitionKey = destination;
RowKey = message;
MyDouble = myDouble;
}
public SmsMessage()
: base("", string.Format("{0:d10}", DateTime.Now.Ticks))
{
}
}
Затем я пишу в таблицу SmsMessage:
smsTable.AddObject("SmsMessages", new SmsMessage(destination, message, myDouble));
smsTable.SaveChanges();
Я просматриваю это в проводнике хранения таблиц, и мои двойники соответствуют тому, как я их ввел (например, 1.2345).
Затем я получаю простой запрос linq для заданного имени пользователя в ключе раздела:
var results = from m in smsTable.SmsMessages
where m.PartitionKey.Equals(txtDestination.Text.Trim())
select m;
Все мои двойные значения сохранены и строго напечатаны как double.