C中文件读取过程中的十进制错误

您好,我有一个文件,如果价格为整数,我试图将输入的单位数量乘以价格,可以,但是没有十进制值0.0000。谢谢。

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>

int main()
{
    int birim;
    float birim_fiyat;
    char barkod[10];
    char kategori[10], urunadi[10], istenen[10];
    float ucret=0.00;
    setlocale(LC_ALL,"Turkish");
    FILE *fp=fopen("barkod.txt","r+");
    if(fp==NULL)
      {
        puts("Dosya açılamıyor");
        exit(1);
      }
      printf("Aranılacak Ürün Barkod Numarasını Girin:");
      scanf("%s",&istenen);

  printf("Kaç Adet:");
  scanf("%d",&birim);

  while(!feof(fp))
  {
  fscanf(fp,"%s %s %s %f\n",barkod,urunadi,kategori,&birim_fiyat);
  if(strcmp(istenen,barkod)==0)
  {
  printf("Aranan Ürün Bulundu: %s %s\n", urunadi,kategori);
  ucret +=birim*birim_fiyat;

 }

}

这是我的条形码文件:

825 Meyve sebze 12.50
403 Cikolata Tatli 5.50
902 Havu‡ Meyve 15.50
881 S A 15.50
866 Zemzem suyu 10.50
300 Tiner Icecek 10.50
评论